Requete sql

cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 - 28 août 2006 à 09:21
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 - 28 août 2006 à 15:46
bonjour,
je cherche a supprimer les lignes d'une table (T1) qui ne sont pas referencées par la table (T2) (et meme une autre tablme nsuite)
ma table T1 a pour clé un couple (col1,col2)
et T2 possede egalement (col1,col2)

je voudrai sdonc faire quelque chose de la sorte :
delete from T1 where (col1,col2) not in (select (col1,col2) from T2)  and not in (select (col1,col2) from T3)";

mais la syntaxe nb'est pas correcte,

COmment faire?

Merci

4 réponses

gcorbineau Messages postés 143 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 octobre 2006
28 août 2006 à 09:39
remplace in par exist
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
28 août 2006 à 10:10
j'obitnes le meme message d'erreur : "incorrect syntaxe near ,"
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
28 août 2006 à 14:34
J'ai pas SQL Server d'installé sinon j'aurai fait un petit test.

Tu oublies de dire ce qu'est T3.
De plus ton pb n'est pas C# mais plutot SQL, je pense que sur http://www.sqlfr.com/ tu auras plus de change d'avoir une réponse (s'il y a du monde :))

au lieu de faire select (col1,col2) from T2, fait plutot select (T2.col1,T2.col2) from T2

Mais je vois pas ton erreur de syntaxe
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
28 août 2006 à 15:46
merci pour ton aide,
g regardé sur internet les requetes avec existS


et c donc


"delete from T1 where not exists (select  *  from T2 where T1.col1=T2.col2 and T1.col2=T2.col2) "
0
Rejoignez-nous