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 var nära.
Gör först sammanfogningen som vanligt, välj sedan alla rader för vilka en not null
rad i Y är faktiskt null
, så du är säker på att det finns en "ingen matchning" och inte bara en null
värde i Y.
Notera också stavfelet (sedan korrigerat) du gjorde i frågan:
LEFT OUTER JOIN Y AS
-- should be
LEFT OUTER JOIN Y ON
-- This however is allowed
LEFT OUTER JOIN table2 as Y ON ....