Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/04/2007, 16h46   #1
Nouveau Membre du Club
 
Inscription : juillet 2002
Messages : 84
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 84
Points : 35
Points : 35
Envoyer un message via MSN à cgone
Par défaut Résultat de 2 requêtes sur une même ligne

Bonjour,

Comme je ne suis pas convaincu que l'intitulé du message soit bien clair, je vais expliquer en détail ce que je souhaite réaliser ici.

j'ai deux calculs à faire sur une même table mais je n'arrive pas à les faire en une seule requête:

Voici plus ou moins ce que je veux :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
  SELECT ENT_ID, SUM(CCO_CREDITO) AS AVENCER
  FROM CC_OPERACAO
  WHERE CCO_PAGO = 'N'
  AND CCO_DTVENCIMENTO > CAST('TODAY' AS DATE)
  AND ENT_ID = 201
  GROUP BY ENT_ID
  UNION
  SELECT ENT_ID, SUM(CCO_CREDITO) AS VENCIDO
  FROM CC_OPERACAO
  WHERE CCO_PAGO = 'N'
  AND CCO_DTVENCIMENTO <= CAST('TODAY' AS DATE)
  AND ENT_ID = 201
  GROUP BY ENT_ID;
Ceci me donne le résultat suivant :
Citation:
ENT_ID.....AVENCER
201..........1553,32
201..........6532,01
Or je souhaiterais avoir :
Citation:
ENT_ID.....AVENCER .....VENCIDO
201 .........1553,32.......6532,01
Quelqu'un a une idée ?
Il y a bien l'utilisation d'une vue qui résoudrait le problème mais si je peux m'en passer, ce serait mieux...

Merci,

Cyril.

P.S: Je sais bien que la question à plus à voir avec SQL qu'avec FireBird mais comme j'utilise ce SGBD, je l'ai mise ici...
cgone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2007, 17h17   #2
Nouveau Membre du Club
 
Inscription : juillet 2002
Messages : 84
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 84
Points : 35
Points : 35
Envoyer un message via MSN à cgone
Par défaut J'ai trouvé la solution

Finalement, j'ai trouvé...
J'aurais dû chercher unpeu plus avant de poster...

La voici :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
SELECT ent.ENT_ID, ent.ENT_NOME,
       (SELECT SUM(CCO_CREDITO)
        FROM CC_OPERACAO
        WHERE CCO_PAGO = 'N'
        AND CCO_DTVENCIMENTO > CAST('TODAY' AS DATE)
        AND ENT_ID = ent.ENT_ID) AS AVENCER,
       (SELECT SUM(CCO_CREDITO)
        FROM CC_OPERACAO
        WHERE CCO_PAGO = 'N'
        AND CCO_DTVENCIMENTO <= CAST('TODAY' AS DATE)
        AND ENT_ID = ent.ENT_ID) AS VENCIDO
FROM entidades AS ent
WHERE ent.ENT_TIPO = 'C'
ORDER BY ent.ENT_NOME;
Merci,

Cyril.
cgone est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h13.


 
 
 
 
Partenaires

Hébergement Web