私は、レコードを一時テーブルに挿入するコードを用意しています。次のエラーを生成します。 メッセージ102、レベル15、状態1、行185 '、'の近くの構文が正しくありません。 メッセージ102、レベル15、状態1、行18 'TI'の近くの構文が正しくありません。 メッセージ102、レベル15、状態1、行18 'S1'の近くの構文が正しくありません。 メッセージ156、レベル15、状態1、行18 キーワード 'as'の近くの構文が正しくありません。 メッセージ156、レベル15、状態1、行191 'as'キーワードの構文が正しくありません。 メッセージ156、レベル15、状態1、行193 キーワード 'as'の近くの構文が正しくありません。 メッセージ156、レベル15、状態1、行195 'as'というキーワードの構文が正しくありません。CASE文を囲むときのTSQL構文エラー
(次のコードは、私のコードの行178で開始:) 私は、CASEステートメントからとライン185上の最初のカンマまでの波線の移動を括弧を削除する場合#Month18Result
SELECT TI.EQId, 'Inventory'
,(CASE
WHEN S1.P0 > FC.P0
THEN TI.P0+OPO.P0-FP.P0
ELSE
[TI].[P0]+[S1].[P0]+[OPO].[P0]-[FC].[P0]-[FP].[P0]-[S2].[P0]) <--(LINE 184) THIS PAREN IS WHERE THE RED SQUIGGLE INDICATES "INCORRECT SYNTAX NEAR ')'
,'','','','','','','','','','','','','','','','',''
FROM (SELECT EQId, P0 FROM #Month18Result WHERE TransactionType = 'TotalInventory') TI
LEFT JOIN (SELECT EQId, P0 FROM #Month18Result WHERE TransactionType = 'Sales') S1
ON S1.EQId = TI.EQId
LEFT JOIN (SELECT EQId, P0 FROM #Month18Result WHERE TransactionType = 'Open PO') as OPO
ON OPO.EQId = TI.EQId
LEFT JOIN (SELECT EQId, P0 FROM #Month18Result WHERE TransactionType = 'Forecast') as FC
ON FC.EQId = TI.EQId
LEFT JOIN (SELECT EQId, P0 FROM #Month18Result WHERE TransactionType = 'Further Process') as FP
ON FP.EQId = TI.EQId
LEFT JOIN (SELECT EQId, P0 FROM #Month18Result WHERE TransactionType = 'Safety Shock') as S2
ON S2.EQId = TI.EQId
に挿入します行184の括弧と同じツールチップメッセージ。
このコードは、S1.P0がFC.P0より大きいかどうかをテストするためのコードです。真の場合は、1つの数式を使用します。 falseの場合は、他の式を使用します。
一時表には、一意のID、カテゴリタイトルのNVAR、およびINT番号の18個のフィールドが格納されます。
WOWとケースStatmantを閉じforgott。私はそのコードを何時間も見つめていて、一組の目のために、それが欠落していると指摘するまで視覚的にENDを見ました。本当にありがとう! –