Bueno, si usted tiene filas enteras como duplicados en su mesa, que haya por lo menos no tiene una clave principal establecido para esa tabla, de lo contrario, al menos, el valor de clave principal sería diferente.
Sin embargo, aquí es cómo construir un SQL para obtener duplicados sobre un conjunto de columnas:
SELECT col1, col2, col3, col4
FROM table
GROUP BY col1, col2, col3, col4
HAVING COUNT(*) > 1
Esto encontrará filas que, por columnas col1-col4, tiene la misma combinación de valores, más de una vez .
Por ejemplo, en la siguiente tabla, las filas 2 + 3 serían duplicados:
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 así, por que SQL, se considera duplicados. Expanda la lista de columnas para contener todas las columnas para las que desea analizar esto.
Usted tiene un punto, ya que el código no es tan difícil como esperaba . En otros lenguajes de SQL puede ser difícil codificar manualmente –
No debería ser, esto es SQL estándar, nada específico para T-SQL. Debería ser el mismo para MySQL, SQLite, Oracle, Sybase, DB2, etc. –
Tiene razón. La falta de resaltado de sintaxis y el código ruidoso me hizo creer que el código generado por MS Access era difícil de entender y ni siquiera lo intenté antes. –