Mostrar cidades sem nenhum cadastro

SQL

Banco de Dados

12/11/2018

Possuo duas tabelas "cidades" e "clientes". A tabela cidades possui (codcidade, nomecidade, uf) a clientes (codcliente, nomecliente, codcidade). Preciso listar as cidades sem clientes cadastrados.
CIDADES (CODCIDADE,NOMECIDADE,UF) values (''277'',''SAO FRANCISCO DE PAU'',''RS''); (CODCIDADE,NOMECIDADE,UF) values (''278'',''SAO FRANCISCO DO SUL'',''SC''); (CODCIDADE,NOMECIDADE,UF) values (''279'',''SAO GABRIEL'',''RS'');
CLIENTES (CODCLIENTE,NOMECLIENTE,CODCIDADE) values (''863'',''DARK AMERICAS LLC'',''379''); (CODCLIENTE,NOMECLIENTE,CODCIDADE) values (''864'',''MARCELO AUGUSTO KRUGER PAGEL'',''289''); (CODCLIENTE,NOMECLIENTE,CODCIDADE) values (''865'',''ALEX SANDRO BARBOSA SOARES'',''97'');
Paola Santos

Paola Santos

Curtidas 0

Melhor post

Emerson Nascimento

Emerson Nascimento

13/11/2018

select c.codcidade, c.nomecidade
from cidade c
left join cliente x on x.codcidade = c.codcidade
where x.codcliente is null;
group by c.codcidade, c.nomecidade
GOSTEI 2

Mais Respostas

Ricardo Pestana

Ricardo Pestana

12/11/2018

Paola bom dia,

Acredito que os dois selects abaixo funcionarão, veja o que melhor te atende....

select c.codcidade, c.nomecidade,
(select count(cli.codcliente) from cliente cli where cli.codcidade = c.codcidade) as qtde
from cidade c having qtde = 0;

select c.codcidade, c.nomecidade, x.codcliente
from cidade c left join cliente x on x.codcidade = c.codcidade
where x.codcliente is null;
GOSTEI 1
Paola Santos

Paola Santos

12/11/2018

Muito obrigado, o primeiro código não reconheceu qtde. O segundo funcionou porém apareceu duplicado o nome das cidades.
GOSTEI 0
Paola Santos

Paola Santos

12/11/2018

Muito obrigado, funcionou perfeitamente.
GOSTEI 0
Ricardo Pestana

Ricardo Pestana

12/11/2018

Paola,

Que banco de dados vc está usando? (quero entender pq o primeiro select que te passei não funcionou )

obrigado,
GOSTEI 0
Paola Santos

Paola Santos

12/11/2018

Uso o oracle.
GOSTEI 0
POSTAR