SQL MAX of multiple columns?

后端 未结 22 2141
伪装坚强ぢ
伪装坚强ぢ 2020-11-22 02:03

How do you return 1 value per row of the max of several columns:

TableName

[Number, Date1, Date2, Date3, Cost]

I n

22条回答
  •  耶瑟儿~
    2020-11-22 02:27

    If you are using SQL Server 2005, you can use the UNPIVOT feature. Here is a complete example:

    create table dates 
    (
      number int,
      date1 datetime,
      date2 datetime,
      date3 datetime 
    )
    
    insert into dates values (1, '1/1/2008', '2/4/2008', '3/1/2008')
    insert into dates values (1, '1/2/2008', '2/3/2008', '3/3/2008')
    insert into dates values (1, '1/3/2008', '2/2/2008', '3/2/2008')
    insert into dates values (1, '1/4/2008', '2/1/2008', '3/4/2008')
    
    select max(dateMaxes)
    from (
      select 
        (select max(date1) from dates) date1max, 
        (select max(date2) from dates) date2max,
        (select max(date3) from dates) date3max
    ) myTable
    unpivot (dateMaxes For fieldName In (date1max, date2max, date3max)) as tblPivot
    
    drop table dates
    

提交回复
热议问题