2012-07-09 79 views
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 
+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

回答

0

也許有你的代碼之間的無形性格特徵,你不能看到, 重寫YOUE scrpit方便內部消除艇員選拔複製或過去。