ho una tabella con i seguenti dati:

codice:
 DataOra                Stato         NTel          Id       IdTab    
 ---------------------  ------------  ------------  -------  -------- 
 07/11/2005 - 15.28.22  SYSTEM ERROR  39xxxx        0000049  1          
 07/11/2005 - 15.29.05  QUEUED        39349588****  0000050  2
 07/11/2005 - 15.29.12  DELIVERED     39349588****  0000050  3
Io vorrei eliminare i campi con lo stesso numero di telefono che hanno come stato tutto tranne 'DELIVERED' o 'REJECTED' o 'EXPIRED'.
Nel caso specifico il campo con idtab = 2 dovrebbe venir cancellato

Ho creato la seguente SQL:
codice:
DELETE FROM Reportfile WHERE Stato NOT IN ('DELIVERED', 'REJECTED', 'EXPIRED') 
AND nTel IN (SELECT nTel FROM reportfile WHERE Stato IN ('DELIVERED', 'REJECTED', 'EXPIRED'))
ma non funziona: You can't specify target table 'reportfile' for update in FROM clause.