Hallo Vinzenz,
SELECT number FROM contact
WHERE id NOT IN(SELECTid\_contact-signatory
FROM contract)nicht mit NOT IN, sondern <> ANY
Klappt irgendwie nicht, kann den Fehler nicht finden ... mich nachgebauten, gleich strukturierten Tabellen funktioniert's. Naja, das bekomm ich schon noch irgndwie hin ...
Übrigens: "Use NOT (a = ANY (...)) rather than a <> ALL (...)." (http://dev.mysql.com/doc/mysql/en/Optimising_subqueries.html)
In sehr vielen Fällen sind Subqueries ineffizient. Dieses ist ein schönes Beispiel dafür.
"Replace a join with a subquery. For example, use this query:
SELECT DISTINCT column1 FROM t1 WHERE t1.column1 IN (
SELECT column1 FROM t2);
Instead of this query:
SELECT DISTINCT t1.column1 FROM t1, t2
WHERE t1.column1 = t2.column1;"
Ebenfalls http://dev.mysql.com/doc/mysql/en/Optimising_subqueries.html.
Ich bin neugierig, was nun richtig ist.
Bye,
Peter