SQL - Requête suppression avec jointure
Résolu
toxik56
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
kiko -
kiko -
Bonjour,
Je cherche actuellement à établir une requête suppression avec jointure mais je ne suis parvenu que partiellement à un résultat.
J'ai deux tables :
table1(NumContrat,X1,Y1,Z1)
table2(NumContrat,X2,Y2,Z2)
Ainsi, mon souhait serait de supprimer dans table1 tous les contrats qui figurent dans table1 et table2.
J'ai établi le code SQL suivant :
DELETE *
FROM table1
WHERE Table2.NumContrat = Table1.NumContrat ;
Seulement, j'ai créé un programme où c'est à moi de définir les lignes à supprimer en indiquant les numéros de contrat..
Je vous remercie par avance pour votre aide.
Cdt
Je cherche actuellement à établir une requête suppression avec jointure mais je ne suis parvenu que partiellement à un résultat.
J'ai deux tables :
table1(NumContrat,X1,Y1,Z1)
table2(NumContrat,X2,Y2,Z2)
Ainsi, mon souhait serait de supprimer dans table1 tous les contrats qui figurent dans table1 et table2.
J'ai établi le code SQL suivant :
DELETE *
FROM table1
WHERE Table2.NumContrat = Table1.NumContrat ;
Seulement, j'ai créé un programme où c'est à moi de définir les lignes à supprimer en indiquant les numéros de contrat..
Je vous remercie par avance pour votre aide.
Cdt
A voir également:
- Delete avec jointure
- Hiberfil.sys delete - Guide
- Juste delete me - Guide
- Kismia delete account - Forum Réseaux sociaux
- SQL : delete [s/ une table] from [2 tables].. ✓ - Forum Programmation
- *#9900# delete dumpstate/logcat ✓ - Forum Samsung
3 réponses
Merci beaucoup pour ta réponse Morgothal !
Je viens de tester ta solution. Du fait qu'il y a deux attributs "NumContrat" respectivement dans table1 et table2, la requête bloque à la ligne 3. Il ne comprend pas de quelle table on parle malgré le FROM en ligne 4. Bref', le code marche parfaitement hormis ce détail, merci infiniment !
Pour ceux qui tomberaient sur ce topic, voici le code que je retiendrais :
Cdt
Je viens de tester ta solution. Du fait qu'il y a deux attributs "NumContrat" respectivement dans table1 et table2, la requête bloque à la ligne 3. Il ne comprend pas de quelle table on parle malgré le FROM en ligne 4. Bref', le code marche parfaitement hormis ce détail, merci infiniment !
Pour ceux qui tomberaient sur ce topic, voici le code que je retiendrais :
DELETE * FROM table1
WHERE NumContrat in
(SELECT table1.NumContrat
FROM table1 INNER JOIN table2 ON table1.NumContrat = table2.NumContrat)
Cdt
Bien joué
A+