0

このステートメントに問題があります。次のキーワードの近くでエラーが発生します。

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
4

2 に答える 2

2

あなたのブラケットが問題だったのではないかと思います。WHEN最初のケースではa も欠落していました。

これはうまくいくはずです:

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]
于 2012-08-22T20:00:13.170 に答える
0

3 つの END がありません: すべての CASE ステートメントには最後の END が必要です...最初の CASE に注意してください!

于 2012-08-22T20:02:20.733 に答える