Ich versuche, eine Liste der Mitglieder (Tabelle MITGLIEDER), die während eines bestimmten Zeitraums (ein Monat) und (. ARTRANS-Tabelle) ein Produkt aus einer der drei Produktkategorien (Tabelle PRODUCTTCATS) gekauft haben dann ein Produkt dieser Kategorie in der folgenden Periode (Monat) nicht gekauft haben.Probleme beim Ausschließen von Ergebnissen aus Unterabfrage
Beide Abfragen funktionieren von selbst, aber wenn ich sie zusammenstelle, ziehe ich keine Ergebnisse. Bitte helfen!
SELECT MEMBERS.lname
, MEMBERS.fname
, MEMBERS.email
, PRODUCTS.scancode
, PRODUCTS.description
, ARTRANS.datetrans
, ARTRANS.memid
, ARTRANS.invoice
, ARTRANSITEMS.price
, ARTRANSITEMS.quantity
FROM PRODUCTS
INNER JOIN ARTRANSITEMS
ON PRODUCTS.productid = ARTRANSITEMS.productid
INNER JOIN ARTRANS
ON ARTRANSITEMS.transid = ARTRANS.transid
INNER JOIN PRODUCTCATS
ON PRODUCTS.productcatid = PRODUCTCATS.productcatid
INNER JOIN MEMBERS
ON ARTRANS.memid = MEMBERS.memid
AND NOT EXISTS (
SELECT M2.memid
FROM PRODUCTS AS P2
INNER JOIN ARTRANSITEMS AS ATI
ON P2.productid = ATI.productid
INNER JOIN ARTRANS AS ART2
ON ATI.transid = ART2.transid
INNER JOIN PRODUCTCATS AS PC2
ON P2.productcatid = PC2.productcatid
INNER JOIN MEMBERS AS M2
ON ART2.memid = M2.memid
WHERE (
P2.productcatid = '20'
OR P2.productcatid = '21'
OR P2.productcatid = '78'
)
AND (ART2.datetrans BETWEEN DATEADD(month, 1, @rvMonthOneStart) AND DATEADD(month, 1, @rvMonthOneEnd))
)
WHERE (
PRODUCTS.productcatid = '20'
OR PRODUCTS.productcatid = '21'
OR PRODUCTS.productcatid = '78'
)
AND (ARTRANS.datetrans BETWEEN @rvMonthOneStart AND @rvMonthOneEnd)
Sie müssen eine Liste der Mitglieder (Frage) oder eine Liste von ARTRANSITEMS (Abfrage)? – Serg
Können Sie die Abfragen getrennt anzeigen? –