[firebase-br] Ajuda SELECT
Jean R. Streleski
jrs.net em uol.com.br
Qua Jan 5 17:37:35 -03 2005
Olá
Estou rodando um select com alguns subselect's para fazer somatórios e contagens e gostaria que o group by agrupassem não só o select principal, mas também os sub-selects. Estou tentando dessa forma:
SELECT B.REGADMINISTR, C.NOME,
(SELECT COUNT(A.CLIENTE) FROM DIVIDA A WHERE A.DTPAGAMENTO IS NULL) AS TOTALINAD,
(SELECT COUNT(A.CLIENTE) FROM DIVIDA A WHERE A.DTPAGAMENTO IS NOT NULL) AS TOTALPAG,
(SELECT SUM(A.VLPAGO) FROM DIVIDA A) AS VALORARREC,
(SELECT SUM(A.VLORIGINAL) FROM DIVIDA A) AS VALORPREVISTO
FROM DIVIDA A
INNER JOIN CLIENTE B ON A.CLIENTE = B.CLIENTE
INNER JOIN REGADMINISTRATIVA C ON B.REGADMINISTR = C.REGADMINISTR
WHERE ANO = 2004
GROUP BY B.REGADMINISTR, C.NOME
ORDER BY B.REGADMINISTR, C.NOME
O Resultado, fica agrupado pelos campos B.REGADMINISTR, C.NOME, mas as totalizações não são agrupadas pelos campos que estão no group. fica mais ou menos assim
REGADMINISTR NOME TOTALINAD TOTALPAG VALORARREC VALORPREVISTO
1 ARACATUBA 1130318 645492 164222690 165757443
2 BAURU 1130318 645492 164222690 165757443
Reparem que os valores trazidos pelos sub select's repetem-se e não são agrupados pela região(CAMPOS B.REGADMINISTR, C.NOME). Qual seria a forma correta de fazer isso??Será que só com Stored Procedure mesmo?
Valew a ajuda
Jean R. Streleski
Bauru / SP
Mais detalhes sobre a lista de discussão lista