Record duplicati
(Ottenere i record duplicati di una tabella)
La seguente query restituisce i record duplicati in base ai campi: Commessa, Assieme, Codice, QntFabbisogno
WITH tbl_tmp AS ( SELECT ROW_NUMBER() OVER(PARTITION BY Commessa, Assieme, Codice, QntFabbisogno ORDER BY Codice) AS RowNumber ,Commessa ,Assieme ,Codice ,DataInvio ,QntFabbisogno FROM TFabbisogno WHERE Commessa = '180209' ) SELECT * FROM tbl_tmp WHERE RowNumber > 1 AND DataInvio >= '10/09/2018 08:00:00.000'
La seguente query elimina i record duplicati
WITH tbl_tmp AS ( SELECT ROW_NUMBER() OVER(PARTITION BY Commessa, Assieme, Codice, QntFabbisogno ORDER BY Codice) AS RowNumber ,Commessa ,Assieme ,Codice ,DataInvio ,QntFabbisogno FROM TFabbisogno WHERE Commessa = '180209' ) DELETE FROM tbl_tmp WHERE RowNumber > 1 AND DataInvio >= '10/09/2018 08:00:00.000'