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 :

[MySql]regrouper 2 requêtes en 1


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de zamanika
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 106
    Par défaut [MySql]regrouper 2 requêtes en 1
    Salut,

    Je ne sais pas comment regrouper deux requetes en une et je me dis pourtant que dans mon cas, ça doit être possible. Mais il se peut aussi que celà ne le soit pas

    pour simplifier, j'ai une table avec deux champs : id - chemin

    En gros, pour l'instant je fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $req1="SELECT chemin FROM db WHERE id=$_GET[id]";
    $res1=mysql_fetch_array(mysql_query($req));
     
    $req2="SELECT chemin FROM db WHERE chemin LIKE '$res1%';
    Donc en fait j'utilise le résultat de ma première requête pour l'injecter dans la seconde. Seulement, je me dis que ça doit bien être possible de tout faire d'un coup.

    Alors possible ou pas (et comment ) ?

  2. #2
    Membre éclairé Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Par défaut
    Salut,
    tu peux faire une requête imbriquée du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT chemin FROM db
    WHERE chemin LIKE 
    concat((SELECT chemin FROM db WHERE id =$_GET[id]),'%')

  3. #3
    Membre éclairé Avatar de zamanika
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 106
    Par défaut
    Merci pour ta réponse : ça marche impeccable !

    Seulement, je me pose une question : est-ce qu'en terme de performance c'est équivalent à deux requêtes (puisqu'il y a deux SELECT) ou pas ?

  4. #4
    Membre éclairé Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Par défaut
    Je dirais que non seulement il y a 2 select, mais aussi 2 appels de mysql_fetch_array...
    Les accès à la base sont gourmands, et j'ai plutôt tendance à regrouper les requêtes au maximum.

    Et pour la propreté du code, c'est + facilement maintenable quand on modifie quelque chose dans la BDD d'aller taper dans 1 seule requête qui encapsule tout.

  5. #5
    Membre éclairé Avatar de zamanika
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 106
    Par défaut
    Merci,

    Les arguments sont convainquants, je vais donc tout regrouper en une requête

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

Discussions similaires

  1. [PHP MySQL] Erreur execution requête de type INSERT
    Par Pfeffer dans le forum Requêtes
    Réponses: 6
    Dernier message: 23/01/2006, 18h38
  2. [MySQL] regrouper les données sous un format différent
    Par Erakis dans le forum Langage SQL
    Réponses: 5
    Dernier message: 17/01/2006, 16h11
  3. [SQL Server 8] Regrouper 2 requêtes en une ?
    Par Baquardie dans le forum Langage SQL
    Réponses: 3
    Dernier message: 22/06/2004, 23h22
  4. Optimisations mysql sur les requêtes SELECT: index
    Par leo'z dans le forum Débuter
    Réponses: 2
    Dernier message: 29/11/2003, 14h23
  5. Regrouper 3 requêtes dans une seule
    Par LadyArwen dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/06/2003, 10h32

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