sql - 语法错误

标签 sql

下面的说法有什么问题?我不断收到以下错误消息....
服务器:消息 156,级别 15,状态 1,第 4 行
关键字“THEN”附近的语法不正确。

update oildatasetstatus
set oildatasetstatusid = 
    case 
    WHEN 5 THEN 16        
    WHEN 6 THEN 17        
    WHEN 7 THEN 18        
    WHEN 8 THEN 18        
    WHEN 9 THEN 18        
    WHEN 10 THEN 19        
    WHEN 11 THEN 20    
    End
where oildatasetlabstatusid in 
(
                select oildatasetstatusid
                from OilDataSetStatus
                inner join OilDataSet on OilDataSet.OilDataSetID = 
                    OilDataSetStatus.OilDataSetID
                where SamplePointID in 
                (
                                select SamplePointID 
                                from SamplePoint
                                where CustomerSiteID in
                                (
                                                select CustomerSiteID
                                                from CustomerSite
                                                where CustomerID = 2
                                )
                )
)

最佳答案

我认为您缺少要在 CASE 语句中评估的语句。

update oildatasetstatus set oildatasetstatusid =
case oildatasetstatusid
 WHEN 5 THEN 16
 WHEN 6 THEN 17
 WHEN 7 THEN 18
 WHEN 8 THEN 18
 WHEN 9 THEN 18
 WHEN 10 THEN 19
 WHEN 11 THEN 20
End
where oildatasetlabstatusid in ( select oildatasetstatusid from OilDataSetStatus inner join OilDataSet on OilDataSet.OilDataSetID = OilDataSetStatus.OilDataSetID where SamplePointID in ( select SamplePointID from SamplePoint where CustomerSiteID in ( select CustomerSiteID from CustomerSite where CustomerID = 2 ) ) )

试一试?

关于sql - 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/543101/

相关文章:

mysql - 选择金额最高的记录

mysql - 多个 id 匹配和 Join 语句的 SQL 性能

mysql - SQL查询查找最小字段最常见的索引

SQL 查找多列中的多数值

sql - 如何在m列中生成n行的排列或组合?

sql - 简单的删除查询。最好的指标是什么?

sql - Firebird 自动增量问题

java - 自动生成数据库请求

php - 从由引用表连接的两个表中选择?

sql - 如何检查特定表上是否启用了更改跟踪