Dúvida Dbgrid

13/01/2006

0

Caros colegas,

Utilizei as seguintes instruções SQL:
Select CLF.UF, Sum(Cast(ENT.TOTAL_GERAL As FLOAT))TOTAL_GERAL
From ENTRADA ENT, CLIEN_FOR CLF
Where (ENT.CODCLIENTE = CLF.CODCLIENTE) And (ENT.COD_EMPRESA = :COD_EMPRESA)
Group By CLF.UF
Having (CLF.UF = :EMP.UF)

Deste modo consigo apenas exibir num dbgrid a soma do TOTAL_GERAL das notas fiscais de entrada dentro do ESTADO(UF).
Ex:
UF / TOTAL_GERAL
DENTRO DO ESTADO / 1500,00

A minha dúvida consiste em saber, se é possível exibir na 2ª linha deste mesmo dbgrid, o TOTAL_GERAL das notas fiscais de entrada fora do ESTADO (CLF.UF <> :EMP.UF). Ficaria do seguinte modo:
UF / TOTAL_GERAL
DENTRO DO ESTADO / 1500,00
FORA DO ESTADO / 3000,00.

Se utiliza-se um novo ClientDataSet, bastaria apenas alterar a Cláusula Having p/ (CLF.UF <> :EMP.UF). Mas aí seria necessário um novo dbrid também.

Portanto gostaria de saber se alguém pode ajudar-me a resolver esta situação.

Atenciosamente,

Alex.


Alex.ueg

Alex.ueg

Responder

Posts

13/01/2006

Techsoft

Use o UNION:

Select ´DENTRO DO ESTADO´ AS UF, Sum(Cast(ENT.TOTAL_GERAL As FLOAT))TOTAL_GERAL
From ENTRADA ENT, CLIEN_FOR CLF
Where (ENT.CODCLIENTE = CLF.CODCLIENTE) And (ENT.COD_EMPRESA = :COD_EMPRESA)
Having (CLF.UF = :EMP.UF)
UNION
Select ´FORA DO ESTADO´ AS UF, Sum(Cast(ENT.TOTAL_GERAL As FLOAT))TOTAL_GERAL
From ENTRADA ENT, CLIEN_FOR CLF
Where (ENT.CODCLIENTE = CLF.CODCLIENTE) And (ENT.COD_EMPRESA = :COD_EMPRESA)
Having (CLF.UF <> :EMP.UF)


Talvez tenha q fazer um group by... mas ai eh detalhe... ou um distinct pode ser que resolva o caso....


Responder

13/01/2006

Alex.ueg

Muito obrigado. Funcionou perfeitamente.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar