Select duas vezes na mesma coluna com inner join

1. Select duas vezes na mesma coluna com inner join

Paulo Pimenta
paulopimenta6

(usa Debian)

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.


  


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

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

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) ;






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts