Hallo Vinzenz!
Meiner Meinung nach besser:
SELECT DISTINCT number
FROM contact
LEFT JOIN contract
ON contact.id = contract.id\_contact-signatory
WHERE contract.id\_contact-signatoryIS NULL
Danke.
SELECT number FROM contact
WHERE id NOT IN(SELECTid\_contact-signatoryFROM contract)nicht mit NOT IN, sondern <> ANY
SELECT number
FROM contact
WHERE id <> ANY (SELECTid\_contact-signatoryFROM contract)
http://dev.mysql.com/doc/mysql/en/ANY_IN_SOME_subqueries.html
Meint, dass id ungleich irgendeinem id_contact-signatory sein muss. Das ist wahr --> Selbes Ergebnis wie bei SELECT number FROM contact.
NOT EXISTS dürfte auch eine Möglichkeit sein.
Wie geht das dann?
In sehr vielen Fällen sind Subqueries ineffizient. Dieses ist ein schönes Beispiel dafür.
Warum?
Bye,
Peter