SQL Server T-SQL CASE错误

问题描述:

我在使用T-SQL(SQL Server 2000)的CASE上遇到错误。任何反馈,非常感谢SQL Server T-SQL CASE错误

的错误是消息156,级别15,状态1,2线附近 关键字“案例”不正确的语法。

--The查询低于:

select c.name,c.customerid,c.linkid 
     ,case when c.linkid=x.linkid then x.orderitem end as orderitem 
     ,case when c.linkid=x.linkid then x.orderdate end as orderdate 
from customer as c 
Inner join 
(
    Select C.CustomerID, C.LinkID, O.OrderItem,O.OrderDate 
    From Customer as C 
    JOIN Orders as O 
     ON C.CustomerKey=O.OrderKey 
    WHERE O.OrderDate='mm-dd-yyyy' 
) as X 
    on c.customerid=x.customerid 
order by c.customerid 
     ,case when c.linkid=x.linkid then 0 else 1 end asc 
     ,c.linkid 
+0

这对我来说很好,在客户和订单上创建脚本创建并粘贴到这里,以及可能的一些示例数据? – Ghost 2012-07-09 19:34:50

+0

我没有收到语法错误。你确定你完全复制了代码吗?我会在字段之间寻找缺少的逗号或多个逗号。 – HLGEM 2012-07-09 19:45:28

+0

您忘记了case语句的else子句,当时c.linkid = x.linkid然后x.orderitem ** else null **结束为orderitem,case时当c.linkid = x.linkid然后x.orderdate ** else null **以订购日期结束 – 2012-07-09 19:49:18

也许有你的代码之间的无形性格特征,你不能看到, 重写YOUE scrpit方便内部消除艇员选拔复制或过去。