Je travaille avec trois tables, et par souci de simplicité, appelons les tables A, B et C. Les deux tables A et B ont une colonne appelée id, ainsi qu'une autre colonne, Aattribute et Battribute, respectivement. La colonne c contient également une colonne id et deux autres colonnes qui contiennent des valeurs pour A.id et B.id. Maintenant, dans mon code, j'ai un accès facile aux valeurs pour Aattribute et Battribute, et que vous souhaitez supprimer la ligne à C, si bien que je veux faire quelque chose comme ceci:Requêtes SQL complexes (DELETE)?
DELETE FROM C WHERE aid=(SELECT id FROM A WHERE Aattribute='myvalue') AND bid=(SELECT id FROM B WHERE Battribute='myothervalue')
Mais cela ne signifie évidemment pas travail. Est-il possible de créer une seule requête complexe, ou dois-je exécuter trois requêtes, où je reçois d'abord la valeur de A.id en utilisant un SELECT avec 'myvalue', puis la même chose pour B.id, puis les utiliser dans la dernière requête?
[Modifier: il ne me laisse pas commenter, donc en réponse au premier commentaire sur ceci: J'ai essayé la question ci-dessus et cela n'a pas fonctionné, j'ai pensé que c'était juste syntaxiquement correct. Utiliser MS Access, pour ce que ça vaut. ]
Pourquoi cette requête ne fonctionnerait-elle pas? – Grumpy
J'ai essayé la requête ci-dessus et cela n'a pas fonctionné, j'ai pensé que ce n'était pas syntaxiquement correct. Utiliser MS Access, pour ce que ça vaut. – Joe