sql >> Base de Datos >  >> Database Tools >> SSMS

¿Cómo obtener el código T-SQL para encontrar duplicados?

Bueno, si tiene filas enteras como duplicados en su tabla, al menos no tiene configurada una clave principal para esa tabla; de lo contrario, al menos el valor de la clave principal sería diferente.

Sin embargo, aquí se explica cómo crear un SQL para obtener duplicados en un conjunto de columnas:

SELECT col1, col2, col3, col4
FROM table
GROUP BY col1, col2, col3, col4
HAVING COUNT(*) > 1

Esto encontrará filas que, para las columnas col1-col4, tengan la misma combinación de valores, más de una vez.

Por ejemplo, en la siguiente tabla, las filas 2+3 estarían 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

Las dos filas comparten valores comunes en las columnas col1-col4 y, por lo tanto, según ese SQL, se consideran duplicados. Expanda la lista de columnas para que contenga todas las columnas que desea analizar.