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