Usando CTE en SQL Server Compact 3.5
Este es mi primer post en stackoverflow, espero uno de muchos!
Mi pregunta es la siguiente: estoy usando CTE en una consulta para detectar y eliminar registros duplicados en una tabla. Esta consulta funciona bien en SQL Server 2005/2008, pero en Compact lanza una excepción:
Hubo un error al analizar la consulta. [Número de línea del token = 1, Desplazamiento de línea del token = 1, Token en error = CON]
Esta es mi consulta:
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();
¿Me estoy perdiendo algo o no funciona CTE en SQL Server Compact?