[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