hobby:development:sql:select:query_0004

Record duplicati Vai alla mappa
(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' 

  • hobby/development/sql/select/query_0004.txt
  • Ultima modifica: 2021/01/07 17:57
  • da mauro.cortese