Casa
13/03/2004, 12h40
En fait le problème vient du fait que d'un coté on a un enregistrement de l'autre pas et qu'on pose une condition sur un enregistrement qui n'existe peut-être pas.
après avoir tatonné, j'en ai déduit qu'il fallait donc sur celle-ci une clause where conditionnelle :
SELECT f.files_id, f.files_url, f.products_id, pd.products_name
FROM files
LEFT JOIN pd ON f.products_id = pd.products_id
WHERE (
IF ( f.products_id = 0 or f.products_id is null, 1=1, pd.language_id =5 ) )
ORDER BY pd.products_name
et l'on peut cumuler à loisir plusiurs clauses conditionnelles que ce soit dans le WHERE mais aussi dans les clauses ON (qui sont équivalentes)
après avoir tatonné, j'en ai déduit qu'il fallait donc sur celle-ci une clause where conditionnelle :
SELECT f.files_id, f.files_url, f.products_id, pd.products_name
FROM files
LEFT JOIN pd ON f.products_id = pd.products_id
WHERE (
IF ( f.products_id = 0 or f.products_id is null, 1=1, pd.language_id =5 ) )
ORDER BY pd.products_name
et l'on peut cumuler à loisir plusiurs clauses conditionnelles que ce soit dans le WHERE mais aussi dans les clauses ON (qui sont équivalentes)