Hello !
On m’a dit que les requêtes suivantes ne sont pas équivalentes :
SELECT table_feature_value.id_feature_value FROM feature_value as table_feature_value
LEFT JOIN feature_product as table_feature_product ON table_feature_product.id_feature = table_feature_value.id_feature
LEFT JOIN product as table_product ON table_product.id_product = table_feature_product.id_product
WHERE ( table_feature_product.id_feature IS NULL OR table_product.id_product IS NULL )
et
SELECT fv.id_feature_value
FROM feature_value fv
LEFT JOIN feature_product fp
ON fp.id_feature = fv.id_feature AND fp.id_feature IS NULL
LEFT JOIN product p
ON p.id_product = fp.id_product AND p.id_product IS NULL
;
L’idée étant de récupérer les id_feature_value
qui soit ne sont associées à aucun product
, soit sont associées à des product
mais aucun n’existe actuellement en base.
J’comprends pas déjà le principe de mettre le contenu qui devrait appartenir à un WHERE
dans un ON
d’une jointure… Déjà ça c’est wtf pour moi, mais ensuite que je n’obtienne pas les mêmes résultats ça me sidère.
Merci d’avance !
+0
-0