SSMS
 sql >> Base de Dados >  >> Database Tools >> SSMS

Como obter o código T-SQL para encontrar duplicatas?


Bem, se você tiver linhas inteiras como duplicatas em sua tabela, você pelo menos não configurou uma chave primária para essa tabela, caso contrário, pelo menos o valor da chave primária seria diferente.

No entanto, veja como construir um SQL para obter duplicatas em um conjunto de colunas:
SELECT col1, col2, col3, col4
FROM table
GROUP BY col1, col2, col3, col4
HAVING COUNT(*) > 1

Isso encontrará linhas que, para as colunas col1-col4, tenham a mesma combinação de valores, mais de uma vez.

Por exemplo, na tabela a seguir, as linhas 2+3 seriam duplicadas:
PK    col1    col2    col3    col4    col5
1       1       2       3       4      6
2       1       3       4       7      7
3       1       3       4       7      10
4       2       3       1       4      5

As duas linhas compartilham valores comuns nas colunas col1-col4 e, portanto, por esse SQL, são consideradas duplicatas. Expanda a lista de colunas para conter todas as colunas para as quais você deseja analisar.