interroger une même table avec deux conditions

stephane85000
Invité n'ayant pas de compte PHPfrance

26 sept. 2011, 11:38

Bonjour,

Cela fait deux jours que je tourne sur un probleme que ne parviens pas à résoudre. J'en appel donc aux experts de la requête php mysql....

J'ai une table de prix table_product_price qui est faite de la façon suivante (pour un même id article = 410 , j'ai deux niveaux de prix, en fonction du groupe d'acheteur : 200 pour les acheteurs de niveau 1 et 100 pour les acheteurs de niveau 2)

product_price_id | product_id | product_price | shopper_group_id
1 | 410 | 200 | 1
2 | 410 |100 |2

Lorsque je fait un "select * from table_product_price where product_id=410", j'ai bien ma réponse sous la forme :

product_price_id | product_id | product_price | shopper_group_id
1 | 410 | 200 | 1
2 | 410 |100 |2

Cependant, je voudrais formuler, dans une même requête imbriquée, quelque chose qui me retournerait :
product_id | prix_niveau_1 | prix_niveau_2
410 | 200 | 100

Et là, j'avoue que je m'arrache les cheveux.... Auriez-vous une idée qui puisse en dépanner ?

Merci d'avance,

Petit nouveau ! | 2 Messages

26 sept. 2011, 12:04

Bonjour,

Je ne sais pas si c'est la manière la plus élégante de faire, mais tu peux essayer comme ceci:

SELECT a.product_id , a.product_price, b.product_price
FROM table_product_price a, table_product_price b
WHERE a.product_id =410 AND b.product_id =410 AND a.shopper_group_id = 1 AND b.shopper_group_id = 2

Invité
Invité n'ayant pas de compte PHPfrance

26 sept. 2011, 12:09

Bonjour Kyor,

Je ne sais pas si c'est la méthode la plus efficace, mais en tout cas ça marche super....

Dépanné en un quart d'heure ... Au moins, ça c'est efficace !

J'avoue que ne suis pas très à l'aise sur les auto-jointure et tu m'enlèves une belle épine du pied.

Merci beaucoup !

Bonne journée,