subselects no join

SQL Server

SQL

22/08/2018

SELECT c.populacao, d.populacao
FROM uf a
JOIN (SELECT populacao, cod_uf FROM senso WHERE uf =''''''''RR'''''''' AND nome_mun = ''''''''Boa Vista'''''''') c ON a.cod_uf = c.cod_uf
JOIN (SELECT populacao, cod_uf FROM senso WHERE uf =''''''''RO'''''''' AND nome_mun = ''''''''Ariquemes'''''''') d ON a.cod_uf = d.cod_uf

Boa noite galera, estou testando esses subselects, mas na hora de executar, não tenho nenhum retorno, alguém sabe o motivo?
esse banco tem os estados Brasileiros.
Demetrio Lopes

Demetrio Lopes

Curtidas 0

Melhor post

Jerson Boer

Jerson Boer

22/08/2018

Olá Demetrio, experimente desta forma:

Select senso.populacao 
from senso inner join
	uf on senso.cod_uf = uf.cod_uf
where 
	(uf ='RR' AND nome_mun = 'Boa Vista') OR
	(uf ='RO' AND nome_mun = 'Ariquemes')
GOSTEI 1

Mais Respostas

Alex Lekao

Alex Lekao

22/08/2018

Ola Demetrio, bom dia!!!

Não sei exatamente sua intenção, mas eu sugeriria utilizar o Outer Apply no lugar deste Join que estaria utilizando.

Ele acaba sendo mais performático que os Joins em algumas ocasiões.

Verifique também a opção indicada Jerson e coloque se funcionou ou não.

SELECT
   S.NOME_MUN AS CIDADE,
   S.POPULACAO
FROM SENSO AS S
OUTER APPLY (SELECT
                U.*
             FROM UF AS U
             WHERE U.CODUF = S.CODUF) SS
WHERE (SS.COD_UF = 'RR' OR SS.COD_UF = 'RO')
   AND (SS.NOME_NUM = 'BOA VISTA' OR SS.NOME_NUM = 'ARIQUEMES')


A minha sugestão é mais para você ter uma ideia do funcionamento do Outer Apply.

Atenciosamente,
GOSTEI 0
POSTAR