如何在具有多个值的情况下使用CASE?这里是我的查询:带条件的UPDATE CASE SQL Server
UPDATE car_availability
SET availability_status = CASE
WHEN car_no = (SELECT A.car_no
FROM car_maintenance A
WHERE A.car_no = car_no
AND A.Start_Date = (SELECT DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), 0)))
THEN 'For Maintenance'
ELSE 'Good'
END
,我得到一个错误
子查询返回多个值。当子查询遵循=,!=,<,< =,>,> =或当子查询用作表达式时,这是不允许的。 该声明已被终止。
在car_maintenance
表我有一套汽车,它是维修,而在car_availability
表我有所有的汽车。我想将所有在car_maintenance
之下的汽车的availability_status
设置为'For Maintenance'。我怎样才能做到这一点?
我在car_availability
的专栏是car_no
和car_availability
。或者我可以使用IF ELSE来做到这一点吗?提前致谢。
对于car_maintenance
表,列
car_no, maintenance_category, start_date_of_maintenance, end_date_of_maintenance
谢谢,它正在工作。我可以在availability_status下有多个CASE吗? –
你可以有几个条件,如果情况,所以你可以为availability_status分配不同的值.. – scaisEdge