0
我在使用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
这对我来说很好,在客户和订单上创建脚本创建并粘贴到这里,以及可能的一些示例数据? – Ghost 2012-07-09 19:34:50
我没有收到语法错误。你确定你完全复制了代码吗?我会在字段之间寻找缺少的逗号或多个逗号。 – HLGEM 2012-07-09 19:45:28
您忘记了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