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
Vous étiez proche.
Faites d'abord la jointure normalement, puis sélectionnez toutes les lignes pour lesquelles un not null
la ligne dans Y est en fait null
, vous êtes donc sûr qu'il y a un "pas de correspondance" et pas seulement un null
valeur en Y.
Notez également la faute de frappe (corrigée depuis) que vous avez faite dans la requête :
LEFT OUTER JOIN Y AS
-- should be
LEFT OUTER JOIN Y ON
-- This however is allowed
LEFT OUTER JOIN table2 as Y ON ....