[InterBase 6] Aide Requete SQL
Bonjour :( ,
Soit la table des DEVIS d'une PME composée des champs suivants :
Client
Montant_propose
Etat (Etat du devis 0: encours,1: Accepte, 2: Refuse)
Comment puis je retourner en une fois les infos suivantes pour chaque CLIENT
concerne :
- La somme des montants_proposes à l'etat 0
- La somme des montants_proposes à l'etat 1
- La somme des montants_proposes à l'etat 2
- Le nombre de devis à l'etat 0
- Le nombre de devis à l'etat 1
- Le nombre de devis à l'etat 2
Voici ce que j'ai essaye :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| select
cgde020,
(select sum(montprop) from TDE001 where TDE001.cgde020=cgde020
and cgde130=0 and cgde050='30003') as Encours,
(select sum(montprop) from TDE001 where TDE001.cgde020=cgde020
and cgde130=1 and cgde050='30003') as Accepte,
(select sum(montprop) from TDE001 where TDE001.cgde020=cgde020
and cgde130=2 and cgde050='30003') as Refuse,
(select count(cgde130) from TDE001 where TDE001.cgde020=cgde020
and cgde130=0 and cgde050='30003') as NbrEncours,
(select count(cgde130) from TDE001 where TDE001.cgde020=cgde020
and cgde130=1 and cgde050='30003') as NbrAccepte,
(select count(cgde130) from TDE001 where TDE001.cgde020=cgde020
and cgde130=2 and cgde050='30003') as NbrRefuse,
(select count(cgde130) from TDE001 where TDE001.cgde020=cgde020 and cgde050='30003') as Total
from TDE001
where cgde050='30003' |
:( :( :(
Ceci ne fonctionne pas ! Toutes les valeurs sont identiques !