Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Truy vấn SQL Server để ẩn dữ liệu cột hàng trùng lặp. Không muốn xóa một hàng trùng lặp

Đây có vẻ là một giải pháp điên rồ, nhưng bạn có thể đạt được nó bằng cách sử dụng hàm windowed ROW_NUMBER() và sử dụng CASE biểu thức kiểm tra xem số hàng có cao hơn 1 không, chẳng hạn như:

select 
    [Vch No.],
    [Vch Type],
    case when rn > 1 then '' else [Vch Ref] end as [Vch Ref],
    case when rn > 1 then '' else [Date] end as [Date],
    case when rn > 1 then '' else [Party Name] end as [Party Name],
    case when rn > 1 then '' else [Sales Ledger] end as [Sales Ledger],
    case when rn > 1 then '' else [Amt] end as [Amt],
    [GST Ledger],
    [TaxAmount],
    case when rn > 1 then '' else [Total] end as [Total]
from (  
    select 
        [Vch No.],
        [Vch Type],
        [Vch Ref],
        [Date],
        [Party Name],
        [Sales Ledger],
        [Amt],
        [GST Ledger],
        [TaxAmount],
        [Total], 
        row_number() over (partition by [Vch No.],[Vch Type],[Vch Ref],[Date],[Party Name],[Sales Ledger],[Amt],[GST Ledger],[TaxAmount],[Total] order by [Vch No.]) rn
    from [AccountData]
)x

Nhìn vào các kiểu dữ liệu, nếu có Amt là INT, bạn nên chuyển nó thành chuỗi nếu bạn muốn nhận giá trị trống.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tạo tất cả các tập lệnh ràng buộc

  2. Cách thêm Ràng buộc khóa ngoại vào bảng hiện có trong SQL Server - Hướng dẫn SQL Server / TSQL Phần 68

  3. java.lang.ClassNotFoundException:com.microsoft.jdbc.sqlserver.SQLServerDriver:Tôi có đang tải đúng trình điều khiển không?

  4. Cách bật Ràng buộc KIỂM TRA trong SQL Server (Ví dụ T-SQL)

  5. Gọi thủ tục được lưu trữ bằng VBA