关键字为IN的SQL CASE语句错误
我对此语句有问题,在关键字附近出现错误:关键字为IN的SQL CASE语句错误,sql,sql-server,sql-server-2008,case,Sql,Sql Server,Sql Server 2008,Case,我对此语句有问题,在关键字附近出现错误: CASE [table1.TransType] IN('Accounts Receivable','Customer Sales')THEN table1.Amt ELSE CASE WHEN [table1.Billable] IN(0,8,28) THEN table1.Amt CASE WHEN [table1.Billable] IN(1,2,3,21,22,23)THE
CASE [table1.TransType] IN('Accounts Receivable','Customer Sales')THEN table1.Amt
ELSE
CASE WHEN [table1.Billable] IN(0,8,28) THEN table1.Amt
CASE WHEN [table1.Billable] IN(1,2,3,21,22,23)THEN table1.RecAmt
CASE WHEN [table1.Billable] IN(9)THEN 0
END
AS NetBilling
我相信你的括号可能是问题所在。在第一个案例中,当出现时,您还缺少一个
这应该起作用:
SELECT
CASE WHEN [table1].[TransType] IN ('Accounts Receivable','Customer Sales') THEN [table1].[Amt]
ELSE
CASE
WHEN [table1].[Billable] IN (0,8,28) THEN [Amt]
WHEN [table1].[Billable] IN (1,2,3,21,22,23) THEN [table1].[RecAmt]
WHEN [table1].[Billable] IN (9) THEN 0 END
END AS NetBilling
FROM [table1]
有三个结尾缺失:所有的案例陈述都需要一个最终的结尾…所以请注意第一个案例 你在第一个案例
之后
缺少了一个,从外观上看,你也缺少了一个结尾
在结尾
之后你有+1我首先错过了括号部分,太多了mistakes@t-克劳森:我也错过了。我有一分钟的时间把它扔进小提琴里,然后注意到了它。