none
Join onde duas colunas tem relação ao mesmo dado RRS feed

  • Pergunta

  • Olá, pessoal, 

      Andei procurando em todo lugar, mas acabei não achando respostas para minha dúvida. 
      Imaginem que eu tenho uma tabela assim

       CODPRODUTO 1 |  CODPRODUTO2
       01                          02
       01                          03
       03                          01

    E ambas colunas se referem a uma mesma tabela chamada PRODUTOS

      CODPRODUTO | DESCRICAO

      01                      PRODUTO1
      02                      PRODUTO2
      03                      PRODUTO3

    QUero voltar a primeira tabela, mas com as suas descrições conforme a tabela PRODUTOS. Tentei fazer um join simples, mas ele não deixa fazer 2 joins com referência a mesma coluna. 

    sábado, 26 de maio de 2012 14:10

Respostas

  • Boa tarde,

    Estou sem o SQL Server instalado nesta máquina para realizar um teste, então o código a seguir pode ter algum erro de digitação, mas tente desta maneira:

    CREATE TABLE #Produtos(
    CodProduto	INT,
    Descricao		VARCHAR(20))
    
    INSERT INTO #Produtos VALUES
    (1,'PRODUTO1'),
    (2,'PRODUTO2'),
    (3,'PRODUTO3')
    
    CREATE TABLE #ProdXProd(
    CodProduto1	INT,
    CodProduto2	INT)
    
    INSERT INTO #ProdXProd VALUES
    (1,2),
    (1,3),
    (3,1)
    
    SELECT	P1.CodProduto	'CodProduto1',
    		P1.Descricao	'Descrição1',
    		P2.CodProduto	'CodProduto2',
    		P2.Descricao	'Descrição2'
    FROM	#Produtos		P1
    JOIN		#ProdXProd	PP
    ON		P1.CodProduto		=	PP.CodProduto1
    JOIN		#Produtos		P2
    ON		PP.CodProduto2		=	P2.CodProduto

    Att,


    Rafael Godoi Sabadin
    http://www.linkedin.com/in/rafaelgodoisabadin


    Classifique as respostas. O seu feedback é essencial.

    • Sugerido como Resposta Antero Marques sábado, 26 de maio de 2012 16:36
    • Marcado como Resposta Heloisa Pires segunda-feira, 4 de junho de 2012 13:53
    sábado, 26 de maio de 2012 16:19