Pular para o conteúdo

Select duas vezes na mesma coluna com inner join

Responder tópico
  • Denunciar
  • Indicar

1. Select duas vezes na mesma coluna com inner join

Enviado em 10/06/2022 - 21:45h

Estou dando os meus primeiros passos no SQL e estou com dificuldade ao montar uma query. Tenho duas tabelas e a primeira (tab1) possui o código da cidade (CodCid) e o nome da cidade (NumCid). A segunda (tab2) possui os códigos das cidades de origem e destino (CodCidOrig e CodCidDest). Como estou montando uma query grande e preciso ter o nome das cidades de destino e origem para outros processos fiz:

select NumCid as cidade_de_origem, NumCid as cidade de destino from tab1 inner join tab2 on CodCid in (CodCidOrig, CodCidDest) 


Usando esta query cria-se uma coluna em que a primeira linha são duas cidades iguais de origem, em seguida com duas cidades iguais de destino e assim por diante, tendo o mesmo padrão (duas origens iguais e duas de destino iguais).

O banco é relacional então CodCid é igual a CodCidOrig e CodCidDest.

Responder tópico

2. Re: Select duas vezes na mesma coluna com inner join

Enviado em 11/06/2022 - 10:24h

Mais ou menos assim (sintaxe sql em maiúsculo)

SELECT
c1.nomeCid as cidade_origem,
c2.nomeCid as cidade_destino
FROM tab2 AS t
INNER JOIN tab1 AS c1 ON (t.codCid = c1.codCid)
INNER JOIN tab1 AS c2 ON (t.codCid = c2.codCid) ;

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder