Używanie CTE na SQL Server Compact 3.5
To jest mój pierwszy post na stackoverflow, mam nadzieję, że jeden z wielu!
Moje pytanie brzmi: używam CTE w zapytaniu do wykrywania i usuwania duplikatów rekordów w tabeli. To zapytanie działa dobrze w SQL Server 2005/2008, ale w Compact zgłasza wyjątek:
Podczas analizowania zapytania wystąpił błąd. [Numer linii tokenu = 1, przesunięcie linii tokena = 1, błąd tokenu = Z]
To jest moje zapytanie:
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();
Czy czegoś brakuje lub czy CTE nie działa na SQL Server Compact?