Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

moninha_ms

Joins com muitas Tabelas.

Recommended Posts

Quero mostrar num relatório, o resultado da seguinte consulta:

 

 

 

Select distinct

 

tab1.ID,

tab1.Campo2,

 

tab2.ID,

tab2.Campo2,

tab2.Campo3,

tab2.Campo4,

tab2.Campo5,

tab2.Campo6,

tab2.Campo7,

tab2.Campo8,

tab2.Campo9,

tab2.Campo10,

tab2.Campo11,

tab2.Campo12,

tab2.Campo13,

tab2.Campo14,

 

tab3.ID,

tab3.Campo2,

tab3.Campo3,

 

tab4.ID,

tab4.Campo2,

tab4.Campo3,

 

tab5.ID,

tab5.Campo2,

tab5.Campo3,

 

 

tab6.ID,

tab6.Campo2,

tab6.Campo3,

 

 

from Tabela2 tab2

 

inner join Tabela1 tab1

on tab2.ID = tab1.ID

 

inner join Tabela3 tab3

on tab2.ID = tab3.ID

 

inner join Tabela4 tab4

on tab2.ID = tab4.ID

 

inner join Tabela5 tab5

on tab2.ID = tab5.ID

 

inner join Tabela6 tab6

on tab2.ID = tab6.ID

 

 

where tab2.ID = 25

 

 

 

 

 

Nessa consulta, o ID da Tabela2, se relaciona com os ID as 5 tabelas (tab1, tab3, tab4, tab5 e tab6), mas não está dando muito certo.

Dá certo quando eu relaciono 3 ou 4 tabelas.

 

Alguém costuma relacionar 5,6 ou mais tabelas??? Já alterei alguns joins para left e mesmo assim não mostra tudo.

 

Vale a pena fazer assim? Ou é mais viavel fazer 2 consultas juntando 3 tabelas em cada consulta???

 

 

Obrigada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

moninha_ms

 

Utilizando o Join você somente obterá os dados que tenha realmente relacionamento entre as tabelas, ou seja, é necessário haver registros nas duas tabelas para que esse join funcione. A questão não é a quantidade de tabelas, você pode ter uma query com 1 Join que não funcione e uma outra query com 10 joins funcionando. Note que nessa relação com 6 joins somente os registros que atenderem a todas as relações serão exibidos.

 

Sugiro ir montando join por join até descobrir onde não está havendo a ligação entre as tabelas através das chaves utilizadas. É uma alternativa para descobrir onde está furando.

 

Ok?

 

[ ]'s

 

Fernando Silveira

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.