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

menunjukkan kosong untuk mengulang nilai dalam set hasil

Bungkus kueri Anda yang ada di CTE dengan menambahkan ROW_NUMBER OVER PARTITION BY kolom Anda, yang akan membuat RN untuk setiap grup nilai. Dalam kueri luar cukup gunakan CASE untuk memilih nilai di mana GRP_RN =1 dan string kosong sebaliknya.

WITH CTE AS 
(
    Select  distinct top 100000 
        o.EventSetName,       
        o.EventSetDisplay,
        o.EventSetDescription,
        o.ChildSetName,
        ROW_NUMBER() Over (Order By f.ChildSetName) RN,
        f.DocumentDispSequence,
        f.SectionDispSequence,
        o.ObsSetDispSequence,
        null  as NullColumnNeedsName,
        ROW_NUMBER() OVER (PARTITION BY o.EventSetName, o.EventSetDisplay,o.EventSetDescription ORDER BY f.ChildSetName) GRP_RN
    From   ##ObsSetLevel o,
    INNER JOIN ##Final f ON f.ChildSetName = o.EventSetName and o.EventSetName = @variableName
)
SELECT
    CASE WHEN GRP_RN = 1 THEN o.EventSetName ELSE '' AS EventSetName,
    CASE WHEN GRP_RN = 1 THEN o.EventSetDisplay ELSE '' AS EventSetDisplay,
    CASE WHEN GRP_RN = 1 THEN o.EventSetDescription ELSE '' AS EventSetDescription,
    other columns
FROM CTE  
Order By RN asc, DocumentDispSequence asc, SectionDispSequence asc, o.ObsSetDispSequence asc

PS:Saya juga telah mengoreksi penggunaan gabungan gaya lama Anda. Penggunaan itu sudah usang lebih dari 20 tahun yang lalu dengan diperkenalkannya standar SQL-92. Sebaiknya hindari menggunakannya.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengambil catatan terakhir di setiap grup dari database - SQL Server 2005/2008

  2. CONVERT() vs TRY_CONVERT di SQL Server:Apa Bedanya?

  3. VB.NET - Gagal mengonversi nilai parameter dari String ke masalah Panduan

  4. SQL Server - setelah memasukkan pemicu - perbarui kolom lain di tabel yang sama

  5. OBJECTPROPERTY() vs OBJECTPROPERTYEX() di SQL Server:Apa Perbedaannya?