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?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage