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 :

soucis d'union (SQL)


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Par défaut soucis d'union (SQL)
    bonjour, j'ai le résultat d'une requete qui ne me plait pas trop...

    je cherche un deux champs mais 1x2 soit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select sum(montant) as montant1, 0 as montant2 from table
    where numtaux=1
    union 
    select 0 as montant 1,sum(montant) as montant2  from table
    where numtaux=2
    mais du coup j'ai deux lignes 0 et le bon montant
    et le bon montant et 0
    moi je veux tout sur la meme ligne...

    comment fait on ?
    merci

  2. #2
    Membre émérite Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Par défaut
    pas très clair tout ça.

    Faites nous un tableau de ce que vous attendez ^^


    moi j'ai compris que tu voulais faire ça :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select 
    sum(case numtaux when 1 then montant else 0 end),
    sum(case numtaux when 2 then montant else 0 end)
    from table

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Par défaut
    champ 1----------------champ2
    ---0----------------------521--
    ---125---------------------0---

    et moi je veux

    champ 1-------------------champ2
    125-------------------------521--

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Par défaut
    Citation Envoyé par Mathusalem
    pas très clair tout ça.

    Faites nous un tableau de ce que vous attendez ^^


    moi j'ai compris que tu voulais faire ça :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select 
    sum(case numtaux when 1 then montant else 0 end),
    sum(case numtaux when 2 then montant else 0 end)
    from table
    bah oui c'est ça en fait...enfin le texte du dessus...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Par défaut
    Mais je trouve que ça fait beaucoup de couches....

  6. #6
    Membre émérite Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Par défaut
    c'est quand même plus simple que ce que tu avais fait, non ?

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Par défaut
    Coucou,
    On peut simplifier ainsi avec des sums que sur un niveau mais en gardant toujours l'union et la sous-requête.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT sum(montant1) AS montant1, sum(montant2) AS montant2 
    FROM (
    		SELECT montant AS montant1, 0 AS montant2 
    		FROM TABLE WHERE numtaux=1 
    		union 
    		SELECT 0 AS montant 1montant AS montant2 
    		FROM TABLE WHERE numtaux=2
           )
    A+
    Soazig

  8. #8
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 136
    Par défaut
    Il suffit d'en rajouter une couche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select sum(montant1) as montant1, sum(montant2) as montant2
    from (select sum(montant) as montant1, 0 as montant2 from table
    where numtaux=1
    union 
    select 0 as montant 1,sum(montant) as montant2  from table
    where numtaux=2)
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

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

Discussions similaires

  1. problème avec UNION SQL
    Par greg1517 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 06/05/2007, 19h46
  2. soucis avec UNION
    Par aureliegro dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/05/2007, 17h19
  3. Souci sur requete SQL
    Par yaya0057 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 30/04/2007, 10h19
  4. [Union SQL Serveur 2005]
    Par tatemilio2 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 20/11/2006, 14h34
  5. petit soucis de requete SQL
    Par graphicsxp dans le forum Langage SQL
    Réponses: 3
    Dernier message: 03/02/2006, 16h38

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