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
Бяхте близо.
Първо направете свързването както обикновено, след което изберете всички редове, за които not null
ред в Y всъщност е null
, така че сте сигурни, че има "няма съвпадение", а не само null
стойност в Y.
Обърнете внимание и на правописната грешка (след коригирана), която сте направили в заявката:
LEFT OUTER JOIN Y AS
-- should be
LEFT OUTER JOIN Y ON
-- This however is allowed
LEFT OUTER JOIN table2 as Y ON ....