IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Sélectionner tous les id renvoyés par une 1ère requête


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Aucune
    Inscrit en
    Janvier 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Aucune

    Informations forums :
    Inscription : Janvier 2003
    Messages : 13
    Points : 12
    Points
    12
    Par défaut Sélectionner tous les id renvoyés par une 1ère requête
    Bonjour ^^

    J'ai une table de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    id       section
    27      1-1  
    27      2-2 
    27      3-1 
    28      1-3 
    28      2-3 
    28      3-2
    Je souhaite
    - sélectionner toutes les id qui correspondent à une section donnée
    - puis sélectionner toutes les sections correspondant aux id trouvés

    Par exemple, si je rentre la section 2-2, ça doit me renvoyer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    27      1-1  
    27      2-2 
    27      3-1
    et si je rentre la section 1-4, ça renvoie rien

    Bien sur je pourrais faire quelque chose du style un SELECT pour récupérer les id, puis des SELECT dans une boucle, mais c'est laid. Ou bien le SELECT qui récupère les id, puis un "SELECT * FROM table WHERE id=$id[1] OR id=$id[2] ......", mais c'est pas beau non plus, surtout si y'a beaucoup d'id renvoyés ...

    Merci d'avance de vos suggestions

  2. #2
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT Section
    FROM Nom_Table T1
    WHERE Id=(SELECT Id
                      FROM Nom_Table T2
                      WHERE Section="&1");
    et tu passes le numero de ta section en argument. A tester

    Didier Danse

    Most Valuable Profesionnal SharePoint
    Microsoft Certified Application Developer
    Mes articles sur developpez.com
    Mon site perso


  3. #3
    Membre à l'essai
    Homme Profil pro
    Aucune
    Inscrit en
    Janvier 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Aucune

    Informations forums :
    Inscription : Janvier 2003
    Messages : 13
    Points : 12
    Points
    12
    Par défaut
    Merci de ta réponse

    mais il a pas l'air d'accepter les sous-requêtes :-/

    je suis sous MySQL 3.23.49

  4. #4
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Juste... MySql on peut pas faire de requetes imbriquees

    Didier Danse

    Most Valuable Profesionnal SharePoint
    Microsoft Certified Application Developer
    Mes articles sur developpez.com
    Mon site perso


  5. #5
    Membre à l'essai
    Homme Profil pro
    Aucune
    Inscrit en
    Janvier 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Aucune

    Informations forums :
    Inscription : Janvier 2003
    Messages : 13
    Points : 12
    Points
    12
    Par défaut
    merci quand même

    à partir de la version 4 je crois que c'est possible ... mais là j'ai pas le choix de la version

    ne serait-il pas possible de remplacer la sous-requête par une jointure ?

  6. #6
    Membre à l'essai
    Homme Profil pro
    Aucune
    Inscrit en
    Janvier 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Aucune

    Informations forums :
    Inscription : Janvier 2003
    Messages : 13
    Points : 12
    Points
    12
    Par défaut
    ça y'est j'ai trouvé tout seul

    je poste la réponse, au cas où ça pourrait servir à quelqu'un d'autre

    en fait, il suffit de faire une jointure de la table avec elle-même ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT t1.id, t1.section FROM `ma_table` AS t1, `ma_table` AS t2 WHERE t2.section='1-1' AND t1.id = t2.id

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] renommage de tous les champs renvoyés par une requête
    Par o.deb dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/09/2012, 21h46
  2. Réponses: 3
    Dernier message: 05/03/2010, 13h31
  3. Réponses: 9
    Dernier message: 21/07/2009, 17h45
  4. Afficher tous les pères référencés par une table
    Par maghraoui dans le forum JDBC
    Réponses: 3
    Dernier message: 07/08/2008, 21h22
  5. Réponses: 5
    Dernier message: 26/12/2007, 12h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo