[firebase-br] RES: Join 3 tabelas

Gilson gilson em rio-minas.com
Sex Ago 15 09:31:27 -03 2014


UP

Em 15/08/2014 08:14, Gilson escreveu:
> to mandando a estrutura que estou usando para teste:
>
> SELECT * FROM CONTROLE_DE_EXIGENCIAS
> LEFT JOIN PROCESSOS2 on PROCESSOS2 .processoseama = 
> CONTROLE_DE_EXIGENCIAS.procambiental
> LEFT JOIN SEMMADES on SEMMADES.processosemmades= 
> CONTROLE_DE_EXIGENCIAS.procambiental
> where CONTROLE_DE_EXIGENCIAS.vencimento between :dtini and :dtfin
> and CONTROLE_DE_EXIGENCIAS.PROTOCOLO is null
> and PROCESSOS2 .INDUSTRIA is NOT null
> and SEMMADES.INDUSTRIA is NOT null
> order by CONTROLE_DE_EXIGENCIAS.VENCIMENTO asc
>
> não esta trazendo nada, se eu tiro essas duas linhas and 
> processos2.INDUSTRIA is NOT null and SEMMADES.INDUSTRIA is NOT null 
> ele traz informação !
>
> Em 14/08/2014 18:24, jackson oliveira escreveu:
>> Perfeito, mas, minha sugestão de boa prática seria... você fazer um
>> procedimento onde, verificaria a existência de dados em tempo de 
>> execução e
>> venha a retornar somente a query com base nas tabelas que existam dados.
>>
>>
>> Em 14 de agosto de 2014 18:18, Felix - SOL Informática <
>> felix em solsistemas.com> escreveu:
>>
>>> Trazendo TODOS os registros da tabela A, mesmo que NÃO EXISTAM nas 
>>> tabelas
>>> B
>>> e C
>>> select *
>>>    from tabela_a a
>>>    left join tabela_b b on a.processo = b.processo
>>>    left join tabela_c c on a.processo = c.processo
>>>
>>> Se for para retornar todos que estejam presentes nas 3 tabelas pelo 
>>> campo,
>>> troque para INNER JOIN.
>>>
>>> Francisco Felix
>>> www.solsistemas.com
>>>
>>> -----Mensagem original-----
>>> De: lista [mailto:lista-bounces em firebase.com.br] Em nome de jackson
>>> oliveira
>>> Enviada em: quinta-feira, 14 de agosto de 2014 18:03
>>> Para: FireBase
>>> Assunto: Re: [firebase-br] Join 3 tabelas
>>>
>>> select *
>>>    from tabela_a a
>>>         , tabela_c c
>>>         , tabela_d d
>>>   where a.processo = b.processo
>>>      and a.processo = c.processo
>>>      and b.processo = c.processo;
>>>
>>> Querido, execute esta query acima e já irá trazer os resultados; 
>>> caso não
>>> tragam, significa que alguma tabela está furando, ou seja, em algum
>>> momento,
>>> quando gravam os processos, alguma tabela fica de fora no momento da
>>> gravação, logo, como por exemplo, poderia TER A INFORMAÇÃO NA TABELA 
>>> A e B
>>> e
>>> a C, não conter informação, logo, via JOIN como solicitou, a query 
>>> acaba
>>> não
>>> trazendo nada.
>>>
>>> Se este for o problema que mencionou (POIS, NÃO REFERENCIOU O 
>>> PROBLEMA NO
>>> POST), então, informe que lhe mando a solução correta (ou eu, ou outro
>>> participante do FÓRUM).
>>>
>>> Abraços,
>>>
>>> Jackson de Oliveira
>>>
>>>
>>>
>>> Em 14 de agosto de 2014 17:44, Gilson <gilson em rio-minas.com> escreveu:
>>>
>>>> Pessoal estou com problema para fazer um Join em 3 tabelas.
>>>> Exemplo:
>>>>
>>>> TABELA_A
>>>> Codigo
>>>> Empresa
>>>> Processo
>>>>
>>>> TABELA_B
>>>> Codigo
>>>> Vencimento
>>>> Processo
>>>>
>>>> TABELA_C
>>>> Codigo
>>>> Prorrogacao
>>>> Processo
>>>>
>>>> O campo que vincula elas é o campo PROCESSO.
>>>> Eu preciso que ao fazer o relatorio da TABELA_A eu consiga pegar
>>>> informação para filtragem da TABELA_B e TABELA_C
>>>>
>>>>
>>>> ______________________________________________
>>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>>
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br 
>>> Para
>>> saber como gerenciar/excluir seu cadastro na lista, use:
>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>
>>>
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use: 
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>





Mais detalhes sobre a lista de discussão lista