[RESOLU] Requête SQL et ORDER BY sur une table différente

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Requête SQL et ORDER BY sur une table différente

Re: Requête SQL et ORDER BY sur une table différente

par Django » 30 nov. 2012, 23:24

Merci de ta réponse et du lien.
bonne soirée (nuit!) à vous tous et merci

Django

Re: Requête SQL et ORDER BY sur une table différente

par dix2 » 30 nov. 2012, 22:14

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

par Django » 30 nov. 2012, 21:51

Merci beaucoup à vous deux.

Dix2
Lorsque tu écris :

Code : Tout sélectionner

SELECT DISTINCT g.id_coul, c.ordre_coul ...
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 ! :o)
J'ai des petits tests à faire.
Encore merci à vous.

Django

Re: Requête SQL et ORDER BY sur une table différente

par dix2 » 30 nov. 2012, 21:07

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

par Django » 30 nov. 2012, 20:48

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 :

Code : Tout sélectionner

g.id_coul=c.id_coul
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

par xTG » 30 nov. 2012, 20:39

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.

Requête SQL et ORDER BY sur une table différente

par Django » 30 nov. 2012, 20:15

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