嗨,我在第二个when条件中遇到了一个sql问题 WHEN '1' THEN ('1000', '1001', '1003', '1005') END)
问题是: [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Incorrect syntax near ','. (102)
我的剧本:
SELECT MTRSUBSTITUTE.MTRL, MTRSUBSTITUTE.CODE AS EAN, MTRSUBSTITUTE.NAME AS WebName, MTRPACK.CODE AS SEAN, MTRSUBSTITUTE.MTRDIM1, MTRSUBSTITUTE.MTRDIM2, MTRL.CDIMCATEG1, MTRL.CDIMCATEG2, MTRL.WEBVIEW AS OnWeb, MTREXTRA.BOOL03 AS SkroutzFeed, MTRSUBSTITUTE.PRICER, MTREXTRA.BOOL01 AS Katastimata, SUM(ISNULL(CDIMFINDATA.OPNIMPQTY1,0)+ISNULL(CDIMFINDATA.IMPQTY1,0)-ISNULL(CDIMFINDATA.EXPQTY1,0)) AS Qty
FROM CDIMFINDATA Inner JOIN MTRSUBSTITUTE ON CDIMFINDATA.MTRL=MTRSUBSTITUTE.MTRL AND CDIMFINDATA.CDIMLINES1=MTRSUBSTITUTE.MTRDIM1 AND CDIMFINDATA.CDIMLINES2=MTRSUBSTITUTE.MTRDIM2 INNER JOIN MTRL ON MTRSUBSTITUTE.MTRL=MTRL.MTRL
INNER JOIN MTREXTRA ON MTREXTRA.MTRL=MTRSUBSTITUTE.MTRL
LEFT OUTER JOIN MTRPACK ON MTRSUBSTITUTE.MTRPACK=MTRPACK.MTRPACK
WHERE WEBVIEW=1 AND MTRSUBSTITUTE.ISACTIVE=1 AND MTRSUBSTITUTE.COMPANY=100 AND CDIMFINDATA.FISCPRD=2020 AND MTRL.SODTYPE=51 AND MTRL.MTRL=6139 AND CDIMFINDATA.WHOUSE IN (CASE MTREXTRA.BOOL01 WHEN '0' THEN ('1001') WHEN '1' THEN ('1000', '1001', '1003', '1005') END)
GROUP BY MTRSUBSTITUTE.MTRL, MTRSUBSTITUTE.CODE, MTRSUBSTITUTE.NAME, MTRPACK.CODE, MTRSUBSTITUTE.MTRDIM1, MTRSUBSTITUTE.MTRDIM2, MTRL.CDIMCATEG1, MTRL.CDIMCATEG2, MTRL.WEBVIEW, MTRSUBSTITUTE.PRICER, MTREXTRA.BOOL03, MTREXTRA.BOOL01, CDIMFINDATA.WHOUSE ORDER BY MTRSUBSTITUTE.CODE
1条答案
按热度按时间l7mqbcuq1#
case表达式不能返回值列表,例如,您必须执行其他操作