Fórum Uso do Left Join com mais de uma tabela. #297060
26/09/2005
0
Amilton/pr
Curtir tópico
+ 0Posts
26/09/2005
Rjun
Gostei + 0
27/09/2005
Amilton/pr
Contrib.db - Tabela de Contribuintes
NumInscric A 6
Nome A 40
Endereco A 40
Ativid N Chave strangeira
Obs. Principais campos
Ativ.db - Tabela de Atividades
CodAtiv N Chave primaria relac. com Ativ de Contrib
Atividade A 50 Descrição Atividade
CalcThe.db - Calculo Hor. Especial
NumeroInsc A 6
ValorThe N
CalcTll.db - Calculo de Alvara
NumeroInsc A 6
ValorTll N
CalcTsvs.db - Calculo Saude
NumeroInsc A 6
ValorTsvs N
Não sei se fui bem claro, mas o fato é que preciso mostrar os contribuintes que tenham ou não valor nas tabelas de CalcTll, CalcThe e CalcTsvs, cujos códigos de atividades seja iguais(Contrib.Db com Ativ.db).
Espero ajuda . . .
Gostei + 0
27/09/2005
Rjun
SELECT Co.NumInscric, Co.Nome, Av.Atividade, Ct.ValorThe, Cl.ValorTll, Cs.ValorTsvs FROM Contrib Co LEFT JOIN Ativ Av on Av.CodAtiv = Co.Ativid LEFT JOIN CalcThe Ct on Ct.NumeroInsc = Co.NumInscric LEFT JOIN CalcTll Cl on Cl.NumeroInsc = Co.NumInscric LEFT JOIN CalcTsvs Cs on Cs.NumeroInsc = Co.NumInscric
Gostei + 0
27/09/2005
Amilton/pr
Obrigado pela atenção
Gostei + 0
27/09/2005
Rjun
E não foi isso que eu fiz?
Gostei + 0
27/09/2005
Amilton/pr
LEFT JOIN
Ativ Av on Av.CodAtiv = Co.Ativid
LEFT JOIN
CalcThe Ct on Ct.NumeroInsc = Co.NumInscric
LEFT JOIN
CalcTll Cl on Cl.NumeroInsc = Co.NumInscric
LEFT JOIN
CalcTsvs Cs on Cs.NumeroInsc = Co.NumInscric
Eu entendo que tá mostrando a tabela da esquerda onde tem o calculo e não tem o nome e sim o valor do cálculo = a tabela de contribuintes onde está o nome. Não deveria ser ao contrário? mas pra ser ao contrário pode-se repetir a tabela de contribuintes várias vezes pra cada tabela?
SDS
Gostei + 0
27/09/2005
Rjun
Gostei + 0
27/09/2005
Amilton/pr
SDS.
Gostei + 0
27/09/2005
Rjun
Gostei + 0
27/09/2005
Amilton/pr
LEFT JOIN
Ativ Av on Av.CodAtiv = Co.Ativid
LEFT JOIN
Co.NumInscric = CalcThe Ct on Ct.NumeroInsc
LEFT JOIN
Co.NumInscric = CalcTll Cl on Cl.NumeroInsc
LEFT JOIN
Co.NumInscric = CalcTsvs Cs on Cs.NumeroInsc
Gostei + 0
27/09/2005
Rjun
Gostei + 0
27/09/2005
Martins
Não rodei nada aqui, mas acredito q vc está certo [b:aab0ed2da2]Rjun[/b:aab0ed2da2], agora vamos esperar o nosso amigo postar aqui novamente para ver o q ele conseguiu.
Gostei + 0
27/09/2005
Andremuller
porém fica outra dúvida.
o colega disse que quer os contribuintes ´que [b:f4dcb3d401]CONTENHA[/b:f4dcb3d401] calculo na tabela1, [b:f4dcb3d401]pode conter[/b:f4dcb3d401] cálculo na Tabela2 e tbém [b:f4dcb3d401]pode conter[/b:f4dcb3d401] cálculo na tabela3
pelo descrito eu entendi que no primeiro relacionamento deve ser um inner ao invés de um left.
Gostei + 0
28/09/2005
Amilton/pr
Gostei + 0
28/09/2005
Rjun
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)