Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Script SQL que retorne bairros ativos e duplicados

Estou tentando resolver um exercício que pede para retornar os bairros que estão ativos e duplicados na tabela, porém não sei como e aonde encaixar a condição de verificação para registros duplicados. Também preciso fazer um INNER JOIN para poder fazer o SELECT para retornar o NOME_MUNICIPIO.

Meu script:

SELECT TBS_MUNICIPIO.CODG_MUNICIPIO, TBS_MUNICIPIO.NOME_MUNICIPIO, TBS_BAIRRO.NOME_BAIRRO 
FROM TBS_BAIRRO 
INNER JOIN TBS_MUNICIPIO
ON TBS_BAIRRO.CODG_MUNICIPIO = TBS_MUNICIPIO.CODG_MUNICIPIO 
WHERE STAT_BAIRRO LIKE 'A' ORDER BY TBS_MUNICIPIO.NOME_MUNICIPIO;

Aonde deveria encaixar a condição de duplicidade?

Meu script:

SELECT CODG_BAIRRO, COUNT(*) FROM TBS_BAIRRO GROUP BY CODG_BAIRRO HAVING COUNT(*)>1);
2 respostas
solução!

Pelo que eu vi de sua segunda consulta, ela vai trazer codigos de bairros repetidos. Pegando a primeira consulta, bastaria fazer o count e o agrupamento. A consulta ficaria assim:

SELECT TBS_MUNICIPIO.CODG_MUNICIPIO, TBS_MUNICIPIO.NOME_MUNICIPIO, 
TBS_BAIRRO.NOME_BAIRRO, COUNT(*) AS TOTAL
FROM TBS_BAIRRO 
INNER JOIN TBS_MUNICIPIO
ON TBS_BAIRRO.CODG_MUNICIPIO = TBS_MUNICIPIO.CODG_MUNICIPIO 
WHERE STAT_BAIRRO LIKE 'A' 
GROUP BY TBS_MUNICIPIO.CODG_MUNICIPIO, TBS_MUNICIPIO.NOME_MUNICIPIO, TBS_BAIRRO.NOME_BAIRRO 
HAVING COUNT(*) > 1
ORDER BY TBS_MUNICIPIO.NOME_MUNICIPIO

Funcionou como esperado. Obrigadooo!