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
Estuviste cerca.
Primero haga la unión como de costumbre, luego seleccione todas las filas para las que not null
fila en Y es de hecho null
, por lo que está seguro de que hay una "no coincidencia" y no solo un null
valor en Y.
También tenga en cuenta el error tipográfico (ya corregido) que hizo en la consulta:
LEFT OUTER JOIN Y AS
-- should be
LEFT OUTER JOIN Y ON
-- This however is allowed
LEFT OUTER JOIN table2 as Y ON ....