SELECT tab.BK_ID,tab.BAD_KHNO,SUM(tab.BAD_YUE)
FROM (SELECT b.BK_ID, b.BK_KHNO, b.BK_NAME,db.BAD_ID,db.BAD_KHNO,db.BAD_YUE FROM DWZ.BACK_B b,DWZ.BAD_DK_B db
WHERE b.BK_KHNO = '0003' AND db.BAD_KHNO = b.BK_KHNO) tab group by tab.BAD_KHNO
报错
[Error Code: -119, SQL State: 42803] SELECT、HAVING 或 ORDER BY 子句中指定的以 "BK_ID"开始的表达式未在 GROUP BY 子句中指定,或者,此表达式在带列函数的SELECT、HAVING 或 ORDER BY 子句中存在,但却未指定 GROUP BY 子句。. SQLCODE=-119, SQLSTATE=42803, DRIVER=3.50.152
修改成
SELECT tab.BAD_KHNO
FROM (SELECT b.BK_ID, b.BK_KHNO, b.BK_NAME,db.BAD_ID,db.BAD_KHNO,db.BAD_YUE FROM DWZ.BACK_B b,DWZ.BAD_DK_B db
WHERE b.BK_KHNO = '0003' AND db.BAD_KHNO = b.BK_KHNO) tab group by tab.BAD_KHNO
对的
我要的目的是~查询编号为BAD_KHNO的 BAD_YUE总额 2个值分别在BACK_B,BAD_DK_B 中 一条BAD_KHNO记录有多少条BAD_YUE
------解决方案--------------------------------------------------------
SELECT tab.BK_ID,tab.BAD_KHNO,SUM(tab.BAD_YUE)
FROM (SELECT b.BK_ID, b.BK_KHNO, b.BK_NAME,db.BAD_ID,db.BAD_KHNO,db.BAD_YUE FROM DWZ.BACK_B b,DWZ.BAD_DK_B db
WHERE b.BK_KHNO = '0003' AND db.BAD_KHNO = b.BK_KHNO) tab
group by tab.BK_ID,tab.BAD_KHNO