Consulta SQL somar a mesma coluna em resultados e condições diferentes.
Olá!
Preciso fazer uma consulta que junte essas três sentenças abaixo em um resultado só. O campo somado (a09_vavn) é o mesmo em todas, uma muda a data e o outro não possui a data e preciso agrupar pelo cliente.
select distinct(a09_clie), cast(sum(a09_vavn)as numeric(12,2)) as VENCIDOS from a009 where a09_cdbx = ''0'' and a09_dtvn < ''20171215'' and a09_vend = ''0000403'' group by a09_clie;
select distinct(a09_clie), cast(sum(a09_vavn)as numeric(12,2)) as VENCER from a009 where a09_cdbx = ''0'' and a09_dtvn > ''20171215'' and a09_vend = ''0000403'' group by a09_clie;
select distinct(a09_clie), cast(sum(a09_vavn)as numeric(12,2)) as ABERTO from a009 where a09_cdbx = ''0'' and a09_vend = ''0000403'' group by a09_clie;
o resultado ficaria assim mais ou menos assim:
| a09_clie | VENCIDOS | VENCER | ABERTO |
|0000105 | 699,79 | 215,41 | 245,95 |
|0000122 | 99,79 | 21,41 | 5,95 |
|0000212 | 49,80 | 11,47 | 35,98 |
Agradeço a ajuda!
Preciso fazer uma consulta que junte essas três sentenças abaixo em um resultado só. O campo somado (a09_vavn) é o mesmo em todas, uma muda a data e o outro não possui a data e preciso agrupar pelo cliente.
select distinct(a09_clie), cast(sum(a09_vavn)as numeric(12,2)) as VENCIDOS from a009 where a09_cdbx = ''0'' and a09_dtvn < ''20171215'' and a09_vend = ''0000403'' group by a09_clie;
select distinct(a09_clie), cast(sum(a09_vavn)as numeric(12,2)) as VENCER from a009 where a09_cdbx = ''0'' and a09_dtvn > ''20171215'' and a09_vend = ''0000403'' group by a09_clie;
select distinct(a09_clie), cast(sum(a09_vavn)as numeric(12,2)) as ABERTO from a009 where a09_cdbx = ''0'' and a09_vend = ''0000403'' group by a09_clie;
o resultado ficaria assim mais ou menos assim:
| a09_clie | VENCIDOS | VENCER | ABERTO |
|0000105 | 699,79 | 215,41 | 245,95 |
|0000122 | 99,79 | 21,41 | 5,95 |
|0000212 | 49,80 | 11,47 | 35,98 |
Agradeço a ajuda!
Adilson Fernandes
Curtidas 0
Melhor post
Fabiano Carvalho
15/12/2017
tente dessa forma;
SELECT A09_CLIE, CAST(SUM(CASE WHEN A09_CDBX = '0' AND A09_DTVN < '20171215' AND A09_VEND = '0000403' THEN A09_VAVN ELSE 0 END) AS NUMERIC(12,2)) AS VENCIDOS, CAST(SUM(CASE WHEN A09_CDBX = '0' AND A09_DTVN > '20171215' AND A09_VEND = '0000403' THEN A09_VAVN ELSE 0 END) AS NUMERIC(12,2)) AS VENCER, CAST(SUM(CASE WHEN A09_CDBX = '0' AND A09_VEND = '0000403' THEN A09_VAVN ELSE 0 END) AS NUMERIC(12,2)) AS ABERTO FROM A009 GROUP BY A09_CLIE
GOSTEI 1
Mais Respostas
Adilson Fernandes
15/12/2017
Amigo é isso mesmo que eu preciso. Muito obrigado!
GOSTEI 0