Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Ganti nama baris duplikat

With Dups As
    (
    Select Id, Name
        , Row_Number() Over ( Partition By Name Order By Id ) As Rnk
    From Table
    )
Select D.Id
    , D.Name + Case
                When D.Rnk > 1 Then ' (' + Cast(D.Rnk As varchar(10)) + ')'
                Else ''
                End As Name
From Dups As D

Jika Anda menginginkan pernyataan pembaruan, Anda dapat menggunakan struktur yang hampir sama:

With Dups As
    (
    Select Id, Name
        , Row_Number() Over ( Partition By Name Order By Id ) As Rnk
    From Table
    )
Update Table
Set Name = T.Name + Case
                    When D.Rnk > 1 Then ' (' + Cast(D.Rnk As varchar(10)) + ')'
                    Else ''
                    End
From Table As T
    Join Dups As D
        On D.Id = T.Id


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah mungkin untuk mengubah Tanggal tipe data di Sql Server

  2. Cara memilih nama kolom dari beberapa tabel di SQL Server 2000-2008 yang ada dalam kumpulan nama

  3. Cara MEMILIH DARI prosedur tersimpan

  4. 2 Cara Mendapatkan Informasi Partisi Untuk Tabel di SQL Server (T-SQL)

  5. login gagal untuk pengguna 'sa'. Pengguna tidak terkait dengan koneksi SQL Server tepercaya. (Microsoft SQL Server, Kesalahan:18452) di sql 2008