Page 1 sur 1
Requête SQL et ORDER BY sur une table différente
Posté : 30 nov. 2012, 20:15
par Django
Bonsoir à vous tous,
Je sèche sur un requête MSQL !?
J'ai deux tables :
Guitares :
----------
Id_gui
nom_gui
...
id_coul
----------
Puis la table
Couleurs
----------
id_coul
nom_coul
...
ordre_coul
----------
J'aimerais chercher (et afficher) toutes les différentes "couleurs" (de façon distincte) du modèle de guitare choisi (critères de sélection) Mais en l'ordonnant suivant "ordre_coul".
Pour un type de guitare afficher les différentes couleurs, ordonnées, disponibles..
SELECT DISTINCT(g.id_coul), c.ordre_coul FROM Guitares AS G INNER JOIN Couleurs AS c ON ( (crit1 LIKE 'X') AND (crit2 LIKE 'X')) ORDER BY c.ordre_coul
Mais cela ne fonctionne pas comme je le veux !?
Auriez vous une idée ?
Merci de votre aide
Django
Re: Requête SQL et ORDER BY sur une table différente
Posté : 30 nov. 2012, 20:39
par xTG
Il te manque ta condition de jointure entre les deux tables (l'actuelle est en fait un filtre WHERE sur une table).
Par contre je ne comprends pas ces LIKE, le modèle de guitare est connu non ? Alors on devrait retrouver une simple égalité.
On n'orthographie pas un modèle de guitare de X façon différente selon moi.
Re: Requête SQL et ORDER BY sur une table différente
Posté : 30 nov. 2012, 20:48
par Django
Bonsoir xTG et merci de ta réponse.
Ma condition serait (en gros) de dire que "id_coul" de la table "guitares" est liée à "id_coul" de la table "Couleurs" ?
Mais pourrais-je quand même faire un WHERE avec des critères ?
(Ex. : Rechercher les "Folks" !? Et même d'autres critères de sélection ? (Pour adulte/ enfant, 6 cordes / 12 cordes ... etc.) ?)
Pour ma condition de jointure un truc comme cela :
Mais comment l'intégrer ?
Code : Tout sélectionner
SELECT DISTINCT(g.id_coul), c.ordre_coul FROM Guitares AS G INNER JOIN Couleurs AS c ON (g.id_coul=c.id_coul WHERE (crit1 LIKE 'X') AND (crit2 LIKE 'X')) ORDER BY c.ordre_coul
Je ne vois pas trop.
Je vais tester !
Merci
Django
Re: Requête SQL et ORDER BY sur une table différente
Posté : 30 nov. 2012, 21:07
par dix2
SELECT DISTINCT g.id_coul, c.ordre_coul
FROM Guitares AS g
INNER JOIN Couleurs AS c
ON g.id_coul = c.id_coul
WHERE crit1 LIKE 'X'
AND crit2 LIKE 'X'
ORDER BY c.ordre_coul
dix2
Re: Requête SQL et ORDER BY sur une table différente
Posté : 30 nov. 2012, 21:51
par Django
Merci beaucoup à vous deux.
Dix2
Lorsque tu écris :
Il va prendre distinctement les "g.id_coul" ? Pas besoin des parenthèses ?
Et aussi les "c.ordre_coul" (qui eux, normalement, sont distincts)
Le code que tu m'as donné... fonctionne !

)
J'ai des petits tests à faire.
Encore merci à vous.
Django
Re: Requête SQL et ORDER BY sur une table différente
Posté : 30 nov. 2012, 22:14
par dix2
le DISTINCT concerne l'ensemble des attributs :
une ligne n'apparaitra pas si TOUS les attributs sont identiques à ceux d'une ligne déjà présente dans le jeu de résultats
ce sujet a également été débattu
ici
dix2
Re: Requête SQL et ORDER BY sur une table différente
Posté : 30 nov. 2012, 23:24
par Django
Merci de ta réponse et du lien.
bonne soirée (nuit!) à vous tous et merci
Django