SELECT count(id) FROM X
LEFT OUTER JOIN Y ON (y.X_id = X.id AND y.foo = 'bar')
WHERE y.X_id is null
Du warst nah dran.
Führen Sie zuerst den Join wie gewohnt durch und wählen Sie dann alle Zeilen aus, für die ein not null
ist Zeile in Y ist tatsächlich null
, sodass Sie sicher sind, dass es eine "keine Übereinstimmung" und nicht nur eine null
gibt Wert in Y.
Beachten Sie auch den Tippfehler (inzwischen korrigiert), den Sie in der Abfrage gemacht haben:
LEFT OUTER JOIN Y AS
-- should be
LEFT OUTER JOIN Y ON
-- This however is allowed
LEFT OUTER JOIN table2 as Y ON ....