[firebase-br] Ajuda com Join's
Magnun Oliveira
magnun_magnun em hotmail.com
Qua Mar 21 15:49:15 -03 2007
Tenho uma tabela de TIPOS e uma de GASTOS.
Preciso exibir todos os TIPOS q existem, e a soma dos GASTOS de cada TIPO,
caso nao exista nenhum GASTO para determinado TIPO, exibir NULL.
fiz o select abaixo e funcionou perfeitamente.
select
TIPOS.COD_TIP, TIPOS.TIPO,
sum (GASTOS.VALOR)
from TIPOS
left join GASTOS on TIPOS.COD_TIP = GASTOS.COD_TIP
group by TIPOS.COD_TIP, TIPOS.TIPO
order by TIPOS.TIPO
porem agora preciso colocar um filtro, entre DATAS, para a soma dos GASTOS e
continuar exibindo NULL para os TIPOS q nao tenham nenhum GASTO no periodo
selecionado. Fiz isso e nao deu certo, o select filtrou pelo intervalo, mas
nao exibiu os TIPOS com gasto NULL.
select
Tipos.Cod_Tip, Tipos.Tipo,
sum (Gastos.Valor)
from Tipos
left join Gastos on Tipos.Cos_Tip = Gastos.Cos_Tip
WHERE GASTOS.DATA BETWEEN :DATA_INICIAL AND :DATA_FINAL
group by Tipos.Cod_Tip, Tipos.Tipo
order by Tipos.Tipo
Alguem sabe como fazer?
Segunda duvida: Tenho uma tabela de CLIENTES. depois q colocar o filtro
entre datas nos GASTOS, e exibir todos os TIPOS, preciso colocar um outro
filtro e exibir apenas os CLIENTES escolhidos, 'AND CLIENTES.COD_CLI =
:CODIGO', mas minha tabela de CLIENTES se relaciona com GASTOS.
Como ficaria o left join na tabela de TIPOS, jah q ele se relaciona soh com
GASTOS?
Obrigado.
_________________________________________________________________
MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com
Mais detalhes sobre a lista de discussão lista