Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

डुप्लिकेट पंक्तियों का नाम बदलें

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

यदि आप एक अद्यतन विवरण चाहते हैं तो आप लगभग उसी संरचना का उपयोग कर सकते हैं:

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. SQL डेटाबेस में अरबी वर्ण कैसे सम्मिलित करें?

  2. किसी SQL से बेस डेटा प्रकार लौटाएं_SQL सर्वर में भिन्न मान

  3. क्या हम विशिष्ट तालिकाओं से हटाने से इनकार कर सकते हैं?

  4. स्ट्रिंग को तारीख में कैसे पार्स करें?

  5. एक लेनदेन में एकाधिक डीबी के साथ विदेशी कुंजी समस्या