Usuário com melhor resposta
Pegar só os registros que não aparecem num select com distinct

Pergunta
-
Olá amigos.
Gostaria de uma sugestão de como pegar só os registros que não aparecem num select com distinct e com vários campos.
Preciso disso pois estou tentando criar uma Constraint Unique em uma tabela com vários campos, e de 2500 registros existem 2 repitidos.Agradeço pela atenção.
Abs.
Fabianoterça-feira, 1 de março de 2011 15:39
Respostas
-
Boa tarde Fabiano.
Se te entendi bem, você quer verificar qual é o teu registro duplicado, correto?SELECT CHAVE, COUNT (*)
FROM TABELA
GROUP BY CHAVE
HAVING COUNT (*) > 1Onde chave é a coluna (ou conjunto de colunas) que vai fazer parte da sia constraint.
Abraços, Weslley Moura MCP - MCTS - ORA SqlExpert- Marcado como Resposta Fabiano Nalin terça-feira, 1 de março de 2011 15:52
terça-feira, 1 de março de 2011 15:45 -
Olá Fabiano.
Quando isso acontece costumo pegar pelo group by. No final da select coloco o count(*)
Espero ter ajudado.
[]'s
- Marcado como Resposta Fabiano Nalin terça-feira, 1 de março de 2011 15:52
terça-feira, 1 de março de 2011 15:45
Todas as Respostas
-
Boa tarde Fabiano.
Se te entendi bem, você quer verificar qual é o teu registro duplicado, correto?SELECT CHAVE, COUNT (*)
FROM TABELA
GROUP BY CHAVE
HAVING COUNT (*) > 1Onde chave é a coluna (ou conjunto de colunas) que vai fazer parte da sia constraint.
Abraços, Weslley Moura MCP - MCTS - ORA SqlExpert- Marcado como Resposta Fabiano Nalin terça-feira, 1 de março de 2011 15:52
terça-feira, 1 de março de 2011 15:45 -
Olá Fabiano.
Quando isso acontece costumo pegar pelo group by. No final da select coloco o count(*)
Espero ter ajudado.
[]'s
- Marcado como Resposta Fabiano Nalin terça-feira, 1 de março de 2011 15:52
terça-feira, 1 de março de 2011 15:45 -
Olá Patricio, fiz o que me sugeriu e deu certo. Abaixo o Select que utilizei:
SELECT NQuestPI,IREmbarc,EspecieProd,Medida,Situação,Origem, COUNT(*) FROM Fiscalizacao_IMP.dbo.TbProdutosInterceptados
GROUP BY NQuestPI,IREmbarc,EspecieProd,Medida,Situação,Origem
HAVING COUNT(*)>1Obrigado a todos.
[]´s
terça-feira, 1 de março de 2011 15:52 -
Fabiano Nalin,
Use o Group By , para agrupar o campo que você deseja e assim faça um count com having.
Utilize:
SELECT campo, count(*) AS qtd
FROM tabela
GROUP BY campo
HAVING Count(*) > 1
O que acontece:
o campo nesse caso é aonde você acha que esses dados possam estar repetidos, se tiver mais campo, não esqueça de colocar os mesmos campos no GROUP BY
Luan.Moreno MCP || MTA ||MCTS SQL Server 2005 Blog: http://luanmorenodba.wordpress.com Twitter: @luansql Classifique as respostas. O seu feedback é imprescindível- Sugerido como Resposta Luan.Moreno A.k.a SQL.SoulMVP terça-feira, 1 de março de 2011 16:15
- Não Sugerido como Resposta Luan.Moreno A.k.a SQL.SoulMVP quarta-feira, 2 de março de 2011 15:15
- Sugerido como Resposta Luan.Moreno A.k.a SQL.SoulMVP quarta-feira, 2 de março de 2011 15:15
terça-feira, 1 de março de 2011 15:56