如何在几列的最大值的每一行中返回1值:

表名

[Number, Date1, Date2, Date3, Cost]

我需要返回这样的内容:
[Number, Most_Recent_Date, Cost]

查询?

最佳答案

好了,您可以使用CASE语句:

SELECT
    CASE
        WHEN Date1 >= Date2 AND Date1 >= Date3 THEN Date1
        WHEN Date2 >= Date1 AND Date2 >= Date3 THEN Date2
        WHEN Date3 >= Date1 AND Date3 >= Date2 THEN Date3
        ELSE                                        Date1
    END AS MostRecentDate

[对于Microsoft SQL Server 2008 及更高版本,您可以在下面考虑Sven的简单答案。]

关于sql - 多个列的SQL MAX?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/71022/

10-11 05:03