0
我收到的時候我試圖執行這個sql查詢DB2 SQLSTATE 42972錯誤
INSERT INTO
AGG_QUALITY
SELECT
QIF.DATEDM_ID,
'Status' AS BREAKDOWN_TYPE,
HCR.VALUE,
QIF.SCANDEFINITION_ID,
QIF.QUALITYISSUE_VALUE,
COUNT(QIF.QUALITYISSUEFACT_ID),
COUNT(QRF.QUALITYRESOLUTIONFACT_ID)
FROM
QUALITYISSUEFACT QIF,
HUBCODERECORD HCR,
ITEMSTATUS ITS
LEFT JOIN
QUALITYRESOLUTIONFACT QRF
ON
QIF.QUALITYISSUEFACT_ID = QRF.QUALITYISSUEFACT_ID
WHERE
QIF.DATEDM_ID > startDateDMId
AND QIF.DATEDM_ID <= endDateDMId
AND HCR.CODE = ITS.H_STATUS_TYPE
AND QIF.DIMENSION_ROM_PK = ITS.ITEMMASTER_ID
GROUP BY
QIF.DATEDM_ID, HCR.VALUE, QIF.SCANDEFINITION_ID, QIF.QUALITYISSUE_VALUE
;
DB21034E該命令被處理爲一個SQL語句,因爲它不是一個 有效的命令行處理器命令此錯誤。在SQL處理期間,它返回: SQL0338N與JOIN運算符或MERGE語句 關聯的ON子句無效。 LINE NUMBER = 31。 SQLSTATE = 42972
不要過時隱與清潔的現代'join'語法連接。這可能會解決您的問題。一個簡單的規則:只要在'from'子句中用逗號來表示「否」。 – 2014-09-02 20:22:05
您是否可以確認'QUALITYISSUEFACT'和'QUALITYRESOULTIONFACT'表中是否存在'QUALITYISSUEFACT_ID'列? – 2014-09-02 20:25:15
是的,它存在。 – 2014-09-02 20:27:44