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 :

Compter sur 2 tables différentes.


Sujet :

Requêtes MySQL

  1. #1
    Membre confirmé
    Homme Profil pro
    Apprenti Ingénieur
    Inscrit en
    Novembre 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti Ingénieur
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 104
    Par défaut Compter sur 2 tables différentes.
    Bonjour,

    J'ai un petit problème pour compter sur 2 tables différents.

    Je m'explique :

    J'ai 2 Tables "encours" et "encoursres" qui compte les champs (les même sur les 2 tables) :

    id_produit / type_produit / ros /client / adresse / adresseb / ville / codepostal / villeb / codepostalb / clientb / tache

    Je voudrais compter le nombre de Type de produits différents sur les 2 Tables mais en vain..

    J'ai essayé cette requête qui ne me donne pas les bons resultats :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT 
    type_produit AS TYPE,
    COUNT(id_produit) AS NBRE
    FROM encours
    GROUP BY TYPE
    UNION
    SELECT 
    type_produit AS TYPE,
    COUNT(id_produit) AS NBRE
    FROM encoursres
    GROUP BY TYPE
    ORDER BY NBRE DESC

    Ma requête marche bien si je parcours 1 table à la fois :

    Par exemple :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT 
    type_produit AS TYPE,
    COUNT(id_produit) AS NBRE
    FROM encours
    GROUP BY TYPE
    ORDER BY NBRE DESC

    Mais pas en parcourant les 2 en même temps.

    J'ai cru voir qu'il falait utiliser des Jointures mais Je ne comprends pas le principe.

    Merci d'avance pour votre aide

    Steven

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    Bonjour,

    Pourriez-vous illustrer avec un exemple ce que veut dire pour vous :

    Je voudrais compter le nombre de Type de produits différents sur les 2 Tables

  3. #3
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Je voudrais compter le nombre de Type de produits différents
    Tu veux compter les types de produits ou les produits par type ?

    Si tu veux compter combien il y a quelque chose sur l'ensemble des deux tables, il faut faire une union d'abord puis un comptage ensuite.
    Si ta seconde requête donne ce que tu veux pour une table, c'est à dire compter le nombre de lignes par type de produit, et si tu veux le même comptage sur l'ensemble des deux tables, il faut faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT 
    	tmp.type_produit AS TYPE,
    	COUNT(tmp.id_produit) AS NBRE
    FROM 
    (
    	SELECT type_produit, id_produit
    	FROM encours
    	UNION
    	SELECT type_produit, id_produit
    	FROM encoursres
    ) tmp
    GROUP BY tmp.type_produit
    ORDER BY COUNT(tmp.id_produit) DESC
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. insert sur 2 tables différentes
    Par ksh_dev dans le forum Requêtes
    Réponses: 4
    Dernier message: 15/01/2007, 15h42
  2. Une requete sur 3 tables différentes. [Le retour]
    Par CritikKiller dans le forum Requêtes
    Réponses: 11
    Dernier message: 13/03/2006, 01h43
  3. SQL Query sur deux tables différentes.
    Par kabal22 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 25/12/2005, 17h52
  4. Sum de deux champs sur deux tables différentes
    Par kluh dans le forum Oracle
    Réponses: 11
    Dernier message: 29/09/2005, 18h21
  5. Somme de 3 COUNT() sur 3 tables différentes
    Par PyRoFlo dans le forum Langage SQL
    Réponses: 9
    Dernier message: 13/08/2004, 18h36

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