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

Langage SQL Discussion :

Optimisation requete Comptage sur 3 tables


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 141
    Points : 39
    Points
    39
    Par défaut Optimisation requete Comptage sur 3 tables
    Bonjour,

    J'ai un petit cadre qui me résume le nombre d'entrée que j'ai dans mes 3 tables

    je voudrai faire 1 seul requete afin de me compter tout cela car actuellement j'ai 3 requete differente pour afficher les 3 totaux ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $result = mysql_query("SELECT count(id) FROM table1 WHERE valide = '1' ");
    $result2 = mysql_query("SELECT count(id) FROM table2 WHERE valide = '1' ");
    $result3 = mysql_query("SELECT count(id) FROM table3 WHERE valide = '1' ");
    Savez vous comment faire de ces 3 requêtes une seule requête ?

    Merci de votre aide.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 115
    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 115
    Points : 28 493
    Points
    28 493
    Par défaut
    La manière la plus simple est de faire comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    SELECT  SUM(total_1) AS  total1
        ,   SUM(total_2) AS  total2
        ,   SUM(total_3) AS  total3
    FROM    (   SELECT  COUNT(id)   AS total_1
                    ,   0   AS total_2
                    ,   0   AS total_3 
                FROM    table1 
                WHERE   valide = '1'
            UNION
                SELECT  0   AS total_1
                    ,   COUNT(id)   AS total_2
                    ,   0   AS total_3 
                FROM    table2 
                WHERE   valide = '1'
            UNION
                SELECT  0   AS total_1
                    ,   0   AS total_2 
                    ,   COUNT(id)   AS total_3
                FROM    table3 
                WHERE   valide = '1'
            )   AS tmp

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 141
    Points : 39
    Points
    39
    Par défaut
    Bonjour,

    Merci de ta réponse, mais en faite je voudrais que les totaux soit totalement indépendant ... le total de la table1, le total de la table 2 ...

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 115
    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 115
    Points : 28 493
    Points
    28 493
    Par défaut
    J'avais en effet fait une faute de frappe dans la requête.
    Elle est corrigée

Discussions similaires

  1. Requete SELECT SUR +sieurs tables
    Par yanis97 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 21/09/2006, 14h30
  2. Requete MySQL sur plusieurs tables
    Par romulus67 dans le forum Requêtes
    Réponses: 10
    Dernier message: 03/07/2006, 18h45
  3. requête count sur deux tables
    Par psychoBob dans le forum Requêtes
    Réponses: 7
    Dernier message: 13/06/2006, 16h12
  4. Réponses: 8
    Dernier message: 17/05/2006, 15h32
  5. Requete COUNT sur 3 tables
    Par Le-Cortex dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/09/2005, 11h39

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