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

SSRS 2005 tìm tên của cột có giá trị lớn nhất

Bạn có thể sử dụng UNPIVOT và một CROSS APPLY để có được điều này:

;with cte as
(
  select col, value
  from yourtable
  unpivot
  (
    value
    for col in ([Step X], [Step W], [Step A], [Step B], [Step Y])
  ) unpiv
) 
select [Step X], 
  [Step W], 
  [Step A], 
  [Step B], 
  [Step Y],
  d.col LastStep
from yourtable
cross apply
(
  select c1.col
  from cte c1
  inner join
  (
    select max(value) MaxDate
    from cte
  ) c2
    on c1.value = c2.maxdate
) d

Xem SQL Fiddle with Demo




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để nối nhiều hàng?

  2. Cài đặt SQL Server 2019 trên máy Mac

  3. SQL chuyển đổi ngày giờ và trừ giờ

  4. Tham gia SQL vào ngày gần nhất ít hơn

  5. 5 cách tìm hàng có chứa chữ hoa trong SQL Server