两个表格
ORDER_TABLE:
ORDER_ID | TARGET_QTY |
-----------------------
1 | 50
2 | 100
3 | 200
ALLOC_TABLE:
ORDER_ID | TARGET_QTY |
-----------------------
1 | 50
2 | 20
2 | 30
3 | 200
我想返回ORDER_TABLE.ORDER_ID,其中订单ID的SUM(ALLOC_TABLE.TARGET_QTY)是< ORDER_TABLE.TARGET_QTY。防爆。期望的输出如下:
ORDER_ID |
---------
2
感谢所有帮助!
答案 0 :(得分:2)
SELECT
at.ORDER_ID
FROM
ALLOC_TABLE at
JOIN ORDER_TABLE ot ON at.ORDER_ID = ot.ORDER_ID
GROUP BY
at.ORDER_ID, ot.TARGET_QTY
HAVING
SUM(at.TARGET_QTY) < ot.TARGET_QTY
答案 1 :(得分:0)
试试这个
SELECT at.ORDER_ID
FROM ALLOC_TABLE at
full outer JOIN ORDER_TABLE ot ON at.ORDER_ID = ot.ORDER_ID
GROUP BY at.ORDER_ID
HAVING SUM(at.TARGET_QTY) < ot.TARGET_QTY