Hallo!
Ich habe hier zwei verschiedene Queries:
SELECT number, COUNT(contract.id\_contact-signatory
) as anz FROM contact
LEFT JOIN contract ON (contact.id = contract.id\_contact-signatory
)
GROUP BY number HAVING anz = 0
SELECT number FROM contact
WHERE id NOT IN(SELECT id\_contact-signatory
FROM contract)
Die erste funktioniert und liefert mir alle Kundennummern, für die kein Vertrag existiert. Die zweite wollte nach meinem Dafürhalten äquivalent zur ersten sein - und liefert mir ein leeres Resultset.
Lasse ich das NOT weg, so bekomme ich alle Kundennummern, für die ein Vertrag existiert - so grundsützlich fasch kann die Query also nicht sein. Woran liegt's?
Ich hab nicht viel Erfahrung mit Subqueries, also meldet euch bitte auch, wenn ihr der Meinung seid, dass es so eigentlich gehen müsste, damit ich wenigstens da auf der sicheren Seite bin. Danke!
Peter