用括号括起CASE语句时出现TSQL语法错误
我有将记录插入临时表的代码。它会生成以下错误: Msg 102,15级,状态1,第185行 “,”附近的语法不正确。 Msg 102,15级,状态1,第186行 “TI”附近的语法不正确。 Msg 102,15级,状态1,第187行 “S1”附近的语法不正确。 Msg 156,第15级,状态1,第189行 关键字“as”附近的语法不正确。 Msg 156,第15级,状态1,第191行 关键字“as”附近的语法不正确。 Msg 156,第15级,状态1,第193行 关键字“as”附近的语法不正确。 味精156,第15级,状态1,第195行 关键字“as”附近的语法不正确 (以下代码从我的代码的第178行开始:) 插入#month18结果用括号括起CASE语句时出现TSQL语法错误,tsql,case,Tsql,Case,我有将记录插入临时表的代码。它会生成以下错误: Msg 102,15级,状态1,第185行 “,”附近的语法不正确。 Msg 102,15级,状态1,第186行 “TI”附近的语法不正确。 Msg 102,15级,状态1,第187行 “S1”附近的语法不正确。 Msg 156,第15级,状态1,第189行 关键字“as”附近的语法不正确。 Msg 156,第15级,状态1,第191行 关键字“as”附近的语法不正确。 Msg 156,第15级,状态1,第193行 关键字“as”附近的语法不正确。
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
选择TI.EQId“库存”
,(案例
当S1.P0>FC.P0时
然后是TI.P0+OPO.P0-FP.P0
其他的
[TI].[P0]+[S1].[P0]+[OPO].[P0]-[FC].[P0]-[FP].[P0]-[S2].[P0].[p>没有详细检查您的查询,但是case语句中是否缺少“end”
没有详细检查您的查询,但是case语句中是否缺少“end”
你放弃了在停止时关闭箱子
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]) END AS SOMENAME
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
你放弃了在停止时关闭箱子
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]) END AS SOMENAME
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
哇!我盯着那个代码看了几个小时,由于只有一双眼睛,我目不转睛地看到了结尾,直到你指出它不见了。非常感谢!哇!我盯着那个代码看了几个小时,由于只有一双眼睛,我目不转睛地看到了结尾,直到你指出它不见了。非常感谢!