Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/05/2006, 11h00   #1
Membre actif
 
Avatar de renaudjuif
 
Inscription : avril 2006
Messages : 300
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 300
Points : 174
Points : 174
Par défaut [SQL] Requête de sélection particulière

Bonjour,

Je bloque sur une requête qui ne me paraît pas si compliquée...
Le schéma est le suivant: 2 tables, 1 personne peut choisir 2 produits.

table "produit"
-> id
-> libelle_produit

table "choix_produits"
->id
->id_produit1
->id_produit2

et je voudrais la réponse de cette forme:

--choix_produits.id--libelle_produit1--libelle_produit2--

comment ramener ce résultat en 1 seule requête, du genre :

"SELECT choix_produits.id, produit.libelle_produit nom_produit1 FROM choix_produits,produit WHERE choix_produits.id_produit1=produit.id"

pour ramener les 2 noms des produits choisis ?

Il doit y avoir 1 moyen, non ?
renaudjuif est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2006, 11h04   #2
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
Salut !

il te faut jetter un oeil du côté des jointures (tu as un très bon chapitre dans le tuto "SQL de A à Z" dans la rubrique SQL ) :
Code :
1
2
SELECT CP.id AS choix_produit, P1.libelle_produit AS produit1, P2.libelle_produit AS produit2
FROM choix_produit AS CP<blockquote>LEFT JOIN produits AS P1<blockquote>ON CP.id_produit1 = P1.id</blockquote>LEFT JOIN produits AS P2<blockquote>ON CP.id_produit2 = P2.id</blockquote></blockquote>
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2006, 11h18   #3
Membre actif
 
Avatar de renaudjuif
 
Inscription : avril 2006
Messages : 300
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 300
Points : 174
Points : 174
Merci Swoög,

Je me demandais s'il était possible sur 1 simple select de ramener les enregistrements.

le left join est 1 peu + gourmand en ressources,
et ma requête ramenant forcément 2 produits par enregistrement.
Les champs ne pouvant pas etre à null, un select aurait pu être bien...


Je vais faire le left join.
renaudjuif est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2006, 12h07   #4
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
Il s'agit d'un SELECT, mais avec une jointure, c'est tout...
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2006, 12h17   #5
Membre actif
 
Avatar de renaudjuif
 
Inscription : avril 2006
Messages : 300
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 300
Points : 174
Points : 174
oui tu as raison,
ma jointure marche nickel, Merci.
renaudjuif est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h28.


 
 
 
 
Partenaires

Hébergement Web