RES: [firebase-br] Ajuda SELECT
Ton - Asi
hevertonc em hotmail.com
Qui Jan 6 10:27:29 -03 2005
É só vc colocar um Where em cada subselect indicando a chave que liga
cada um deles a cada linha retornado pelo seu select maior. Pelo que vi,
vc tem um REGAD...(alguma coisa) e esta é a chave, certo? Esse campo
existe em cada subselect? Se sim adiciona um Where a.cliente =
c.cliente...
Detalhe, use um ALIAS diferente para cada subselect.
Espero ter ajudado...
Abraçcos...
Ton
Analista de Sistemas
DotCom Informática
"A informação não é um produto,
mas sim a matéria prima." (Ton)
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
Em nome de Jean R. Streleski
Enviada em: quarta-feira, 05 de janeiro de 2005 17:38
Para: Grupo Firebird
Assunto: [firebase-br] Ajuda SELECT
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
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br Para
editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.806 / Virus Database: 548 - Release Date: 05/12/2004
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.806 / Virus Database: 548 - Release Date: 05/12/2004
Mais detalhes sobre a lista de discussão lista