Beh, se avete intere righe come duplicati nella tabella, hai almeno non ha una chiave primaria impostato per quel tavolo, altrimenti almeno il valore della chiave primaria sarebbe stato diverso.
Tuttavia, qui è come costruire uno SQL per ottenere i duplicati su un set di colonne:
SELECT col1, col2, col3, col4
FROM table
GROUP BY col1, col2, col3, col4
HAVING COUNT(*) > 1
Ciò trovare le righe che per colonne col1-col4, ha la stessa combinazione di valori, più di una volta .
Ad esempio, nella seguente tabella, righe 2 + 3 sarebbero duplicati:
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
Le due righe condividono valori comuni nelle colonne col1-col4, e quindi, per quel SQL, è considerato duplicati. Espandi l'elenco di colonne per contenere tutte le colonne per le quali desideri analizzare questo.
fonte
2009-08-03 14:15:36
Si ha un punto, perché il codice non è così difficile come mi aspettavo . In altri linguaggi SQL può essere difficile codificare manualmente –
Non dovrebbe essere, questo è SQL standard, niente di specifico per T-SQL. Dovrebbe essere lo stesso per MySQL, SQLite, Oracle, Sybase, DB2, ecc. –
Hai ragione. La mancanza di evidenziazione della sintassi e di codice rumoroso mi ha fatto credere che il codice generato da MS Access fosse difficile da capire e non l'ho nemmeno provato prima. –