- Este tópico contém 9 respostas, 4 vozes e foi atualizado pela última vez 17 anos, 2 meses atrás por
Leonardo Litz.
-
AutorPosts
-
18 de dezembro de 2008 às 4:07 pm #84354
Tiago_BB
ParticipanteOla pessoal.. estou com uma dúvida em um select no sql.
Acontece que tenho uma tabela com 3 campos! e em uma outra tabela… eu tenho os valores dos campos da tabela anterior e a descrição dos mesmos.
Acontece que não estou conseguindo pegar a descrição dos 3 campos nessa tabela.
Estou fazendo da seguinte forma:
SELECT LOCAL_TBL1, (DESCR_LOCAL_TBL2) DESC_LOCAL, CELULA_TBL1, (DESCR_CELULA_TBL2) DESC_CELULA, RESTAURANTE_TBL1, (DESCR_RESTAURANTE_TBL2) DESC_RESTAURANTE
FROM TBL2, TBL1
WHERE CELULA_TBL1 = COD_TBL2
AND LOCAL_TBL1 = COD_TBL2
AND RESTAURANTE_TBL1 = COD_TBL2
AND LOCAL_TBL1 >= 508
AND LOCAL_TBL1 <= 60015 ORDER BY LOCAL_TBL1 Mas tras a mesma descrição para todos os campos, sendo que são registros diferentes! Alguem pode me ajudar!! Atenciosamente Tiago18 de dezembro de 2008 às 4:57 pm #84357Leonardo Litz
ParticipanteThiago, seguinte, para cada campo vc deve declarar uma tabela da descricao, coloque um alias diferente para cada tabela, associe cada campo com uma tabela diferente.
Vlw Leonardo Litz
18 de dezembro de 2008 às 5:03 pm #84359Tiago_BB
ParticipanteDesculpe…
Não entendi muito bem!!!
“para cada campo vc deve declarar uma tabela da descricao”
A estrutura que eu fiz ta certa??
Obrigado pela ajuda!!
Atte
18 de dezembro de 2008 às 5:06 pm #84360Rodrigo Mesquita
Participanteo campo COD_TBL2 tem os códigos referentes a descricao da celula, local e restaurante?
tente algo do tipo
SELECT tb1.LOCAL_TBL1,
tb2.DESCR_LOCAL_TBL2 DESC_LOCAL,
tb1.CELULA_TBL1,
tb2.DESCR_CELULA_TBL2 DESC_CELULA,
tb1.RESTAURANTE_TBL1,
tb2.DESCR_RESTAURANTE_TBL2 DESC_RESTAURANTE
FROM TBL2 tb2, TBL1 tb1
WHERE tb1.CELULA_TBL1 = tb2.COD_TBL2
AND tb1.LOCAL_TBL1 = tb2.COD_TBL2
AND tb1.RESTAURANTE_TBL1 = tb2.COD_TBL2
AND tb1.LOCAL_TBL1 >= 508
AND tb1.LOCAL_TBL1 <= 60015
ORDER BY tb1.LOCAL_TBL118 de dezembro de 2008 às 5:10 pm #84361Rodrigo Mesquita
Participanteda um desc nessas tabelas e coloca aqui
18 de dezembro de 2008 às 5:14 pm #84363Manoel872
ParticipanteO problema dele e que ele não esta utilizando 3 joins… ele faz 1 join para trazer a informação das 3 descrição da mesma tabela… ele teria q fazer 3 joins para tabela 2 para trazer as 3 descriçoes.
18 de dezembro de 2008 às 5:48 pm #84364Tiago_BB
ParticipanteResolvido.
Ficou assim:
SELECT TB1.LOCAL_TBL1, (LOC.DESCR_TBL2) DESCR_LOCAL, TB1.CELULA_TBL1, (CEL.DESCR_TBL2) DESC_CELULA,
TB1.RESTAURANTE_TBL1, (REST.DESCR_TBL2) DESCR_RESTAURANTE
FROM TBL1 TB1, TBL2 LOC, TBL2 CEL, TBL2 REST
WHERE TB1.LOCAL_TBL1 = LOC.COD_TBL2
AND TB1.CELULA_TBL1 = CEL.COD_TBL2
AND TB1.RESTAURANTE_TBL1 = REST.COD_TBL2Agradeço o interesse de todos!!
18 de dezembro de 2008 às 5:51 pm #84365Leonardo Litz
ParticipanteThiago, veja se é isso que vc esta esperando:
SELECT LOCAL_TBL1,
(B.DESCR_LOCAL_TBL2) DESC_LOCAL,
CELULA_TBL1,
(A.DESCR_CELULA_TBL2) DESC_CELULA,
RESTAURANTE_TBL1,
(C.DESCR_RESTAURANTE_TBL2) DESC_RESTAURANTE
FROM TBL2 A,
TBL2 B,
TBL2 C,
TBL1,
WHERE CELULA_TBL1 = A.COD_TBL2
AND LOCAL_TBL1 = B.COD_TBL2
AND RESTAURANTE_TBL1 = C.COD_TBL2
AND LOCAL_TBL1 >= 508
AND LOCAL_TBL1 <= 60015
ORDER BY LOCAL_TBL1Vlw Leonardo Litz
19 de dezembro de 2008 às 12:12 am #84382Rodrigo Mesquita
Participanteachei mesmo estranho so ter o codigo em uma tabela. Se faltar uma coluna no join o select nao funciona direito
19 de dezembro de 2008 às 4:22 pm #84387Leonardo Litz
ParticipanteNão apenas se faltar um coluna, esta tabela referencia-se a tabela B tres vezes, para cada referenciamento vc deve declarar uma entidade. Se vc declarar apenas uma, só irá trazer os registros nos quais as 3 colunas da tabela A são iguais.
-
AutorPosts
- Você deve fazer login para responder a este tópico.