Mostrar cidades sem nenhum cadastro
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'');
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
Curtidas 0
Melhor post
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
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;
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
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
12/11/2018
Muito obrigado, funcionou perfeitamente.
GOSTEI 0
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,
Que banco de dados vc está usando? (quero entender pq o primeiro select que te passei não funcionou )
obrigado,
GOSTEI 0
Paola Santos
12/11/2018
Uso o oracle.
GOSTEI 0