比较两列时SQL Server出错

时间:2017-02-09 07:24:15

标签: sql sql-server-2012

我在这里有一个查询,它从两列日期中选择最大的值,然后出现错误:

  

当EXISTS没有引入子查询时,只能在选择列表中指定一个表达式。

我可以重写哪些查询?

update Product
set date = (select 
                date1, date2,
                case when exists (date1 > date2 
                        then date1
                        else date2
                end as date))
            from Product))

2 个答案:

答案 0 :(得分:1)

UPDATE Product
    SET date=(SELECT 
           CASE WHEN date1 > date2 THEN date1
                ELSE date2
           END AS date
           FROM Product
            )

答案 1 :(得分:1)

如果它位于同一行,则无需在Product中使用其他UPDATE

UPDATE Product SET
    date = CASE WHEN date1 > date2 THEN date1 ELSE date2 END