J'essaye d'écrire une requête qui retournera toutes les commandes qui ont seulement un abonnement inclus. Il est assez facile d'écrire une requête qui inclut toutes les commandes avec abonnements, une autre qui inclut toutes les commandes sans abonnement, puis de les comparer avec une requête sans correspondance.Besoin d'aide avec la sous-requête SQL
Mais je ne veux pas avoir à stocker des requêtes dans ma base de données Access, je préfère tout avoir dans mon code ASP, et je ne peux pas obtenir cela pour travailler avec une seule requête complexe.
Voici des échantillons de ce qui fonctionne si je les stocker: « Comment puis-je écrire pour qu'il Requête 3 ne se réfère pas à Query1 ou Query2 »
Query1
SELECT tblOrders.OrderID, tblOrderItems.ProductID
FROM tblOrders INNER JOIN tblOrderItems ON tblOrders.OrderID = tblOrderItems.OrderID
WHERE ((Not ((tblOrderItems.ProductID)>=12 And (tblOrderItems.ProductID)<=15)));
Query2
SELECT tblOrders.OrderID, tblOrderItems.ProductID
FROM tblOrders INNER JOIN tblOrderItems ON tblOrders.OrderID = tblOrderItems.OrderID
WHERE ((((tblOrderItems.ProductID)>=12 And (tblOrderItems.ProductID)<=15)));
Query3
SELECT Query2.OrderID, Query2.ProductID
FROM Query2 LEFT JOIN Query1 ON Query2.OrderID = Query1.OrderID
WHERE (((Query1.OrderID) Is Null));
Alors, ma question est ou, est-ce qu'il me manque un autre moyen de le faire?
Merci, Pete [email protected]
L'utilisation de Query1 et Query2 comme table de sous-requête ne fonctionne pas? SELECT * FROM (SELECT * FROM table1) t1 JOIN (SELECT * FROM table2) t2 USING (id) – Tarka
Merci, Slokun, mais non: au moins, je ne peux pas faire fonctionner les jointures. –
Pouvez-vous s'il vous plaît nous donner des définitions de table (ou des exemples) et expliquer ce que vous voulez exactement dans le jeu de résultats? – incarnate