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

 MySQL Discussion :

Union de deux select


Sujet :

MySQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 9
    Points
    9
    Par défaut Union de deux select
    Bonjour,
    J'ai cherché pas mal dans le forum mais je n'arrive pas à trouver une solution à mon problème, j'espère que vous pourrez m'aider.
    Je travaille sur la base Oracle d'un système de gestion de bibliothèque (SIGB).
    Je souhaite afficher un tableau qui regroupe toutes les statistiques sur les documents multimédia (de types différents : cdroms, dvd, vhs...) et classés par thèmes.
    Mais l'union de deux requêtes (qui fonctionnent individuellement) :

    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
    SELECT copias.COCOCE AS theme,
      COUNT(*)           AS nbcdroms
    FROM copias
    WHERE copias.COCOSU = 600
    AND copias.COCOCP  IN ('022', '12')
    AND copias.COFREC   < '01/01/12'
    AND copias.COSTAT   = 'C'
    AND copias.COCOCL  IN ('BL11', 'BL14', 'BL13', 'BLF1', 'BLF4', 'BLF5', 'BLF3', 'BLF0')
    GROUP BY copias.COCOCE
    UNION
    SELECT copias.COCOCE AS theme,
      COUNT(*)           AS nbdvd
    FROM copias
    WHERE copias.COCOSU = 600
    AND copias.COCOCP  IN ('023', '19')
    AND copias.COFREC   < '01/01/12'
    AND copias.COSTAT   = 'C'
    AND copias.COCOCL  IN ('BL11', 'BL14', 'BL13', 'BLF1', 'BLF4', 'BLF5', 'BLF3', 'BLF0')
    GROUP BY copias.COCOCE
    me renvoie seulement le résultat de la première :

    THEME NBCDROMS
    000 3
    000 5
    004 2
    005 3
    ...
    Je voudrais rajouter ensuite d'autre requêtes et avoir un tableau plus complet.
    Je suis bibliothécaire et j'apprends par moi même donc il doit me manquer des choses basiques
    Merci de votre aide !

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

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

    Je penses que vous vous êtes trompé de forum (mysql ici)

    Sinon, je vois 2 possibilités pour votre problème d'union :
    - vous mettez 2 alias différents pour la colonne count(*)
    - union enlève les doublons des autre requêtes par rapport à la première, vu votre besoin vous devriez utiliser "UNION ALL" qui lui va ramener toutes les lignes de toutes les requêtes.


    Sinon pour votre demande, au vu des deux 1ere requetes, si vous n'avez que copias.COCOCP qui change entre vos différentes catégorie une autre approche pourrai être intéressante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT copias.COCOCE AS theme,
    sum(case when copias.COCOCP  IN ('022', '12')then 1 else 0 end) AS nbcdroms,
    sum(case when copias.COCOCP  IN ('023', '19')then 1 else 0 end) as nbdvd
    FROM copias
    WHERE copias.COCOSU = 600
    and copias.COCOCP  IN ('022', '12', '023', '19')
    AND copias.COFREC   < '01/01/12'
    AND copias.COSTAT   = 'C'
    AND copias.COCOCL  IN ('BL11', 'BL14', 'BL13', 'BLF1', 'BLF4', 'BLF5', 'BLF3', 'BLF0')
    GROUP BY copias.COCOCE

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 9
    Points
    9
    Par défaut Merci !
    Oups mille excuses, oui je n'étais pas au bon endroit.
    Mais la seconde méthode que vous m'indiquez par super bien et ça me fait progresser en plus dans la compréhension du langage.
    Donc je ne regrette pas de m'être trompée
    Merci encore !

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

Discussions similaires

  1. [debutant] Union de deux SELECT
    Par pierre50 dans le forum MySQL
    Réponses: 8
    Dernier message: 15/10/2010, 18h03
  2. SQL SERVER 2000(Somme de deux SELECT )
    Par gwadakillah dans le forum Langage SQL
    Réponses: 1
    Dernier message: 09/08/2006, 14h18
  3. Combinaison de deux selects simples
    Par devtrax dans le forum Langage SQL
    Réponses: 5
    Dernier message: 09/09/2004, 14h09
  4. UNION de deux SELECT avec nombre d'arguments différents
    Par orus8 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/07/2004, 14h32
  5. [Débutant] Union de deux tables
    Par nyarla01 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 05/03/2004, 10h40

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