[firebase-br] problema com Left join
Caio Oliveira
news em caiosistemas.com.br
Qua Nov 1 11:38:42 -03 2006
Olá Everaldo,
Tente a SQL abaixo:
select distinct c.id_chamado, c.id_cliente, o.id_ocorrencia from
chamados_ocorrencia o left join chamados c on
((c.id_chamado = o.id_chamado)
Ou seja, vc. estará fazendo o SELECT na tabela de ocorrências; que é a
tabela filha de chamados, certo?.
Eu percebi também, que a mesma ocorrência se repete na tabela de
chamados_ocorrencia (isso está correto?); então inseri o distinct na
tabela acima como também sugerido pelo nosso amigo Mario. Assim, o
resutado ficará como abaixo:
id_chamado id_cliente id_ocorrencia
---------- ---------- -------------
1 1 1
1 1 2
2 2 1
2 2 2
2 2 3
-------------------------------------
Sds, Caio Oliveira
Everaldo Gusmão escreveu:
> Olá pessoal.
>
> Estou com uma duvida de como resolver seguinte problema, tenho 2 tabelas
> assim:
>
> table chamados
> id_chamado id_cliente
> 1 1
> 2 2
>
> table chamados_ocorrência
> id_chamado id_ocorrência
> 1 1
> 1 2
> 1 1
> 2 1
> 2 3
> 2 1
>
> o meu problema é que preciso construir um relatório que mostre
> os chamados de uma ocorrência especifica sem repetir a ocorrência
> mesmo que exista 2 registro na tabela chamados_ocorrência, por exemplo:
>
> select c.id_chamado, c.id_cliente, o.id_ocorrencia from
> chamados c left join chamados_ocorrencia o on
> ((c.id_chamado = o.id_chamado) and (c.id_ocorrencia = 1))
>
> neste caso o retorno é o seguinte:
> id_chamado id_cliente id_ocorrencia
> 1 1 1
> 1 1 1 <==== está repetindo a
> ocorrência
> 2 2 1
> 2 2 1 <=== está repetindo a
> ocorrência
>
> ai eu pergunto tem como resolver isto usado o left join?
>
> um abraço,
> Everaldo
>
>
>
> ______________________________________________
> 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