Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forum osCommerce-fr _ BlaBlaBla _ [Résolu] Requête mysql qui tape (plus) sur les nerfs!

É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)

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)