我的SQL语句有一个语法错误,我不知道错误在哪里。如果在座的任何人能给我一些启发,我将不胜感激。提前感谢!
SELECT YEAR(co.CO_APPLIED_DT) as SCO_YEAR
,MONTH(co.CO_APPLIED_DT) as SCO_MONTH_ID
,co.CO_OWNER_ACCNID as SCO_APPL_ACCNID
,co.CO_APPROVER_ACCNID as SCO_APPR_ACCNID
,co.CO_ISSUE_CTRY_CD as SCO_ISSUE_CTRY_CD
,co.CO_FINALDEST_CTRY_CD as SCO_DEST_CTRY_CD
,'99999999' AS SCO_HS_CHAP_CD
,SUM(CASE
WHEN co.CO_STATUS IN ('A','P', 'T', 'E', 'C', 'F', 'L') THEN 1
ELSE 0
END) AS SCO_APPROVED_CT
,SUM(CASE
WHEN co.CO_STATUS = 'U' THEN 1
ELSE 0
END) AS SCO_CANCELLED_CT
,SUM(CASE
WHEN co.CO_STATUS = 'R' THEN 1
ELSE 0
END) AS SCO_REJECTED_CT
,0 AS SCO_HS_CHAP_CT
FROM TDocCo co
WHERE co.CO_STATUS NOT IN ('N', 'D')
AND co.CO_APPLIED_DT <= :date
AND YEAR(co.CO_APPLIED_DT) = :year
AND MONTH(co.CO_APPLID_DT) = :month
GROUP BY co.CO_APPROVER_ACCNID
,co.CO_OWNER_ACCNID
,co.CO_ISSUE_CTRY_CD
,co.CO_FINALDEST_CTRY_CD
,YEAR(co.CO_APPLIED_DT)
,MONTH(co.CO_APPLIED_DT);
我收到如上所示的错误消息。
发布于 2019-05-27 18:29:40
这些是我的2分钱:在我的本地数据库中,我编写了您的查询,只更改了参数:date :year和:month with date值。看起来是对的!
SELECT
getDate() as CO_APPLIED_DT,
23 as CO_OWNER_ACCNID,
42 as CO_APPROVER_ACCNID,
'England' as CO_ISSUE_CTRY_CD,
'Poland' as CO_FINALDEST_CTRY_CD,
'A' as CO_STATUS
INTO TDocCo
SELECT YEAR(co.CO_APPLIED_DT) as SCO_YEAR,
MONTH(co.CO_APPLIED_DT) as SCO_MONTH_ID,
co.CO_OWNER_ACCNID as SCO_APPL_ACCNID,
co.CO_APPROVER_ACCNID as SCO_APPR_ACCNID,
co.CO_ISSUE_CTRY_CD as SCO_ISSUE_CTRY_CD,
co.CO_FINALDEST_CTRY_CD as SCO_DEST_CTRY_CD,
'99999999' AS SCO_HS_CHAP_CD,
SUM(CASE WHEN co.CO_STATUS IN ('A','P', 'T', 'E', 'C', 'F', 'L') THEN 1 ELSE 0 END) AS SCO_APPROVED_CT,
SUM(CASE WHEN co.CO_STATUS = 'U' THEN 1 ELSE 0 END) AS SCO_CANCELLED_CT,
SUM(CASE WHEN co.CO_STATUS = 'R' THEN 1 ELSE 0 END) AS SCO_REJECTED_CT,
0 AS SCO_HS_CHAP_CT
FROM TDocCo co
WHERE co.CO_STATUS NOT IN ('N', 'D')
AND co.CO_APPLIED_DT <= getDate() -- modified
AND YEAR(co.CO_APPLIED_DT) = year (getDate()) -- modified
AND MONTH(co.CO_APPLIED_DT) = month (getDate()) -- modified
GROUP BY co.CO_APPROVER_ACCNID, co.CO_OWNER_ACCNID, co.CO_ISSUE_CTRY_CD, co.CO_FINALDEST_CTRY_CD, YEAR(co.CO_APPLIED_DT), MONTH(co.CO_APPLIED_DT);
DROP TABLE TDocCo
https://stackoverflow.com/questions/56323938
复制相似问题