[firebase-br] Duvidas com SQL, left join, view, union, e relacionamento de tabelas
Jeferson Oliveira
jefersonfoliveira em gmail.com
Dom Jul 22 17:33:47 -03 2007
Magnun Oliveira wrote:
> Enfim depois dessa dissertação, veem as perguntas:
Ufa! Até que enfim. :)
> usar select TAB_ ... union select TAB_... é confiável?
Sim.
> PQ no meu caso nao
> retornou o recordcount certo?
Porque estava sendo utilizada uma amarração inadequada entre as tabelas.
> usa-la no View q ferrou tudo?
Não.
> será q é preciso fazer isso msm ou naquele sql inicial com left join
da pra
> resolver?
Dá pra resolver com o inicial, sem a necessidade de criar view.
> e por ultimo, essa estrutura q estou usando é a correta? visto q talves
> existira algum registro na tab_filho pra um na tabela pai?
Está incorreta, pois você vinculava a tabela filho ao TIPO, sem
vinculá-la á tabela PAI, daí o porquê do resultado completamente louco.
Minha sugestão para que obtenha o resultado correto e uma performance
bem superior àquela que você obteria com a sentença que apresentou aqui é:
select TIPO.TIPO, sum(TAB_PAI.VALOR) as TOTAL_PAI, sum (TAB_FILHO.VALOR)
as TOTAL_FILHOS
from TAB_PAI
left join TIPO on (TIPO.ID_TIPO = TAB_PAI.ID_TIPO)
left join TAB_FILHO on (TAB_FILHO.ID_PAI = TAB_PAI.ID_PAI)
where TIPO.TIPO <> 'SUB ITENS'
group by TIPO.TIPO
> Obrigado e descupem o texto gigante, é q tentei ao maximo passar o q
> ocorreu.
Compreendo. Mas sugiro que quando estiver diante de problemas grandes
como esse tente identificar quais são os pontos onde vopcê tem realmente
dúvida. Se for o caso poste mais de um tópico cada um com uma dúvida
específica. Tente tornar seus tópicos mais atraentes, para que não
fiquem novamente 19 dias sem resposta. ;)
Abraço!
Jeferson Oliveira
Mais detalhes sobre a lista de discussão lista