首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >db2 sqlstate 42972错误

db2 sqlstate 42972错误
EN

Stack Overflow用户
提问于 2014-09-03 04:20:06
回答 2查看 2.1K关注 0票数 0

当我试图执行这个sql查询时,我得到了这个错误

代码语言:javascript
复制
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
    ;

SQL已将该命令作为DB21034E语句处理,因为它不是有效的命令行处理器命令。在SQL处理过程中,它返回: SQL0338N与JOIN运算符关联的ON子句或MERGE语句中的ON子句无效。线路NUMBER=31。SQLSTATE=42972

EN

回答 2

Stack Overflow用户

发布于 2014-09-03 04:37:44

尝试像下面这样使用内部连接:

代码语言:javascript
复制
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
            INNER JOIN
            HUBCODERECORD HCR
            ON QIF.DIMENSION_ROM_PK = ITS.ITEMMASTER_ID
            INNER JOIN
            ITEMSTATUS ITS
            ON QIF.DIMENSION_ROM_PK = ITS.ITEMMASTER_ID
    LEFT JOIN
            QUALITYRESOLUTIONFACT QRF
    ON
            QIF.QUALITYISSUEFACT_ID = QRF.QUALITYISSUEFACT_ID
    WHERE
            QIF.DATEDM_ID > startDateDMId 
            AND     QIF.DATEDM_ID <= endDateDMId    
    GROUP BY
            QIF.DATEDM_ID, HCR.VALUE, QIF.SCANDEFINITION_ID, QIF.QUALITYISSUE_VALUE
    ;

看看有没有帮助

票数 0
EN

Stack Overflow用户

发布于 2019-03-18 21:00:19

这里也有同样的错误。(注意,我的Table1没有行)

在我这边,我可以通过将额外的(逗号分隔的) table2更改为真正的内部联接来解决它。

示例来自

代码语言:javascript
复制
select xxx from Table1 t1, Table2 t2 
where (t2.col1 = t1.col1) and (t1.col2 = "whatever")

代码语言:javascript
复制
select xxx from Table1 t1
INNER JOIN Table2 t2 ON (t2.col1 = t1.col1)
where (t1.col2 = "whatever")

希望这对其他人有帮助。( DB2 9.7上出现问题)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25631706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档