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 et SQL. Discussion :

Union ou jointure sur la meme table ?


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Inscrit en
    Mai 2002
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 94
    Points : 62
    Points
    62
    Par défaut Union ou jointure sur la meme table ?
    Bonjour,
    j'ai une table avec 4 colonnes:
    - une colonne id_unique
    - une colonne statut
    - une colonne date_crea
    - une colonnes date_update

    Poiur l'instant, j'ai ces deux requetes séparées:
    Ligne ouvertes:
    select date_crea,count(*) from DFT group by date_crea
    Ligne fermées:
    select date_update,count(*) from DFT where statut='Closed' group by date_update

    Je souhaite regrouper ces deux requetes en une seule qui me donnerais pour chaque ligne de resultat:
    La date - le nb de ligne ouvertes ('0' si aucune) - le nb de lignes fermées ('0' si aucune)

    J'ai essayé avec une union des deux requetes, et une jointure sur la meme table mais je n'arive pas au résultat escompté.

    Comment procéder : UNION avec une tierce variable '0' dans les requetes ?
    Ou bien une jointure sur la meme table ?

    Merci !!

  2. #2
    Membre confirmé Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Points : 481
    Points
    481
    Par défaut
    Bonjour,
    je vous propose union + sous requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    select date_operation, sum(ouv) as ouverture, sum(clot) as cloture from
    (
    select date_crea as date_operation, count(id_unique) as ouv, 0 as clot from DFT group by date_crea
    union select date_update, 0, count(id_unique) from DFT where statut='Closed' group by date_update
    )
    group by date_operation

  3. #3
    Membre du Club
    Inscrit en
    Mai 2002
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 94
    Points : 62
    Points
    62
    Par défaut
    Magnifique !!! Merci !!!

    Par contre, lorsque je lance cette requete dans access, je dois rentrer le parametre 'statut' a la main (une boite de dialogue s'ouvre).
    Comment cela se fait-il vu qu'il est renseigné ?

    (et comme j'execute cette requete depuis une page asp, j'ai une erreur...)

  4. #4
    Membre du Club
    Inscrit en
    Mai 2002
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 94
    Points : 62
    Points
    62
    Par défaut
    Oopps, pardon !
    C'est moi ! erreur dans la valeur d'un champ !

    Merci beaucoup pour cette elegante requete

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

Discussions similaires

  1. Double jointure sur une meme table
    Par ecarbill dans le forum Requêtes
    Réponses: 7
    Dernier message: 17/02/2011, 18h36
  2. double jointure sur la meme table
    Par erox44 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 18/04/2008, 17h28
  3. 2 jointures sur une meme table
    Par amamildor dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/10/2007, 17h24
  4. [MySQL] Plusieurs jointures sur une même table
    Par stephyyr dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/06/2006, 14h24
  5. Plusieurs jointures sur la meme table [complexe]
    Par Wells dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/06/2006, 11h41

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