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 :

Récupérer le père et ses fils dans une seule requête


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 47
    Points
    47
    Par défaut Récupérer le père et ses fils dans une seule requête
    Bonjour,

    je cherche à optimiser une appli et me demande si ce que je souhaite est réalisable en une seule requête. Mes recherches google sont infructueuses.
    J'ai une table T1 et une table T2 avec un id_parent_T1 qui renvoie à un enregistrement de T1.
    Je souhaite sélectionner un jeu d'enregistrements de T1avec une concaténation d'un champ titre des enregistrements de T2 dont les parents sont la ligne de T1 correspondantes.
    actuellement, l'appli fait (en PHP):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $result1=$DB->query("SELECT * FROM T1 WHERE  condition");
    while($res1=result1->fetch_object()) {
      // affichage champ T1
      $result2=$DB->query("SELECT titre FROM T2 WHERE  id_parent_T1=".$res1->id);
    // affichage concaténation des titres issue de $result2
    }
    Je me demande donc s'il est possible, ou non, d'obtenir les informations de la deuxième requête répétée pour chaque ligne, en modifiant la première requête.
    Merci aux experts !

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Il te suffirait d'associer une jointure entre tes tables et la fonction GROUP_CONCAT pour faire cela en une seule requête.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/08/2012, 16h07
  2. Plusieurs comptages dans une seule requête
    Par DBA_OCP dans le forum Langage SQL
    Réponses: 9
    Dernier message: 01/12/2008, 19h54
  3. Réponses: 7
    Dernier message: 12/06/2008, 13h26
  4. Réponses: 6
    Dernier message: 27/09/2006, 20h27
  5. Lier trois tables dans une seule requête ?
    Par tempirate dans le forum Requêtes
    Réponses: 2
    Dernier message: 18/06/2006, 19h27

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