[firebase-br] RES: Ajuda com Join's

Ivan Guimarães Meirelles igmeirelles em gmail.com
Qua Mar 21 15:24:32 -03 2007


Olá Magnun...

Experimente assim:

select
Tipos.Cod_Tip, Tipos.Tipo,
sum (Gastos.Valor)
from Tipos
left join Gastos on Tipos.Cos_Tip = Gastos.Cos_Tip and GASTOS.DATA BETWEEN
:DATA_INICIAL AND :DATA_FINAL

Espero ter ajudado...

Um abraço...


-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Magnun Oliveira
Enviada em: quarta-feira, 21 de março de 2007 15:49
Para: lista em firebase.com.br
Assunto: [firebase-br] Ajuda com Join's

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


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista