Verwenden von CTE unter SQL Server Compact 3.5
Dies ist mein erster Beitrag zu stackoverflow, ich hoffe einer von vielen!
Meine Frage lautet: Ich verwende CTE in einer Abfrage, um doppelte Datensätze in einer Tabelle zu erkennen und zu entfernen. Diese Abfrage funktioniert in SQL Server 2005/2008 einwandfrei, löst in Compact jedoch eine Ausnahme aus:
Beim Parsen der Abfrage ist ein Fehler aufgetreten. [Token-Zeilennummer = 1, Token-Zeilenversatz = 1, Token in error = WITH]
Das ist meine Frage:
<code>SqlCeConnection con = new SqlCeConnection(ConfigurationManager.ConnectionStrings["ADSLConnectionString"].ConnectionString); SqlCeCommand command = new SqlCeCommand(); command.Connection = con; command.CommandType = CommandType.Text; command.CommandText = "WITH Dublicates_CTE(Username, accountid)" + " AS" + " (" + " SELECT UserName,min(accountid)" + " FROM Accounts" + " GROUP BY username" + " HAVING Count(*) > 1" + " )" + " DELETE FROM Accounts" + " WHERE accountid IN (" + " SELECT Accounts.accountid" + " FROM Accounts" + " INNER JOIN Dublicates_CTE" + " ON Accounts.Username = Dublicates_CTE.Username" + " AND Accounts.accountid <> Dublicates_CTE.accountid" + " ) "; con.Open(); command.ExecuteNonQuery(); </code>
Vermisse ich etwas oder funktioniert CTE nicht mit SQL Server Compact?