Écrit par : telKel 1 Aug 2011, 12:51
Bonjouuuur,
A ceux qui aiment MySQL et accessoirement les casses-têtes, voici une requête qui marche parfaitement en local (version MySQL 4.1.9-max) et récalcitre sur le serveur (version MySQL 5.0.67 ) ...
requete:
Code
SELECT
p.products_id,
IF (pa.price_prefix = '+', p.products_price + pa.options_values_price,
IF (pa.price_prefix = '-', p.products_price - pa.options_values_price, p.products_price)
) AS prix,
pd.products_name,
pa.options_id,
pa.options_values_id
FROM
osc_products AS p,
osc_products_description AS pd
LEFT JOIN osc_products_attributes AS pa ON pa.products_id = p.products_id
WHERE
p.products_id = pd.products_id
AND pd.language_id = '4'
message d'erreur sur le serveur en production:
Code
#1054 - Unknown column 'p.products_id' in 'on clause'
Écrit par : Gnidhal 1 Aug 2011, 14:40
Citation (telKel @ 1 Aug 2011, 12:51)
Code
FROM
osc_products AS p,
osc_products_description AS pd
LEFT JOIN osc_products_attributes AS pa ON pa.products_id = p.products_id
'
me semble que le join est sur pd et non sur p alors évidemment p.products_id n'est pas trouvé pour la clause "on"
essaye
Code
FROM
osc_products_description AS pd,
osc_products AS p
LEFT JOIN
osc_products_attributes AS pa
ON pa.products_id = p.products_id
'
Écrit par : telKel 2 Aug 2011, 10:38
ça marche! ... ce qui veut dire que la version antérieure est plus souple que la suivante!
Bonne journée.
Écrit par : Gnidhal 3 Aug 2011, 07:47
waip, mais moins puissante et moins rapide.
Et un petit résolu serait bien dans ton titre de post original (voir "comment bien utiliser ces forums" dans ma signature pour le faire)