SELECT PARTICULIER

Résolu
modjoo Messages postés 6 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 9 juin 2009 - 9 juin 2009 à 11:17
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 - 9 juin 2009 à 14:34
Bonjour,

Voilà, j'ai peur de poser une question idiote mais là...enfin le ridicule ne tue fort heureusement !
Je fais un select dans une table avec un critère dans le where (jusque là, rien d'extraordinaire)
Sauf que j'aimerai qu'il me ramène les autres lignes lièes à mon critère.

Exemple : une table "commande" ou j'ai plusieurs lignes de commande

commande     ligne      détail
      1                1           a
      1                1           b
      1                2           c
      2                1           a
      2                2           b

Ma question : comment ramener toutes les lignes d'une commande quand j'ai un détail "a"  ?

Voilà

merci d'avance pour vos lumières

5 réponses

Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
9 juin 2009 à 12:12
Ha heeee non tu veut aussi les autres ligne contenant le num commande à 1 oups
SELECT * FROM "commande" WHERE "commande"."commande" IN (SELECT "commande" FROM "commande" WHERE "détail" = 'a')

ATTENTION l'opérateur IN est TRÈS long à l'exécution sur les grosses tables ;)
Si non il te faudrais une table TMP ou tu place tout les num commande ou un détail est à "a" et tu fait un select grace à elle :
SELECT "commande".* FROM "commande", "TMP" WHERE "commande"."commande" = "TMP"."commande"

Bonne prog ;)

 Amicalement
Google écolo : Forestle<!-- /* Style
3
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
9 juin 2009 à 12:09
Bonjour,

Moi je ferais simplement :
SELECT * FROM "commande" WHERE "détail" = 'a';

Tout simple quoi ;)

 Amicalement
Google écolo : Forestle<!-- /* Style
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
9 juin 2009 à 12:30
Tiens j'y pense encore plus simple sans table TMP :
SELECT
a.*
FROM
"commande" a,
(SELECT DISTINCT commande as "numco" FROM commande WHERE "détail" = 'a') b
WHERE
a."commande" = b."numco";

Voila je pense que je n'aurais pas mieux

 Amicalement
Google écolo : Forestle<!-- /* Style
0
modjoo Messages postés 6 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 9 juin 2009
9 juin 2009 à 14:28
Merci beaucoup à toi !
ça fonctionne super, je me coucherai moins "tut" ce soir
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
9 juin 2009 à 14:34
Tiens la 3éme ne fonctionne pas ???
( je n'en es testé aucune en même temps )

Contant de t'avoir aidé

 Amicalement
Google écolo : Forestle<!-- /* Style
0
Rejoignez-nous