我有两张表格如下。表2的第3列是表1中第1列的FK.Col_2或表1显示了我已经购买了多少库存。表2第2列显示了一个大块中已售出多少股票。因此,表2的前两个记录显示我已售出250和200个产品。这将为我留下50个单位的产品1。
我的问题是,如何构建一个只会提取我仍有库存的产品的查询。在下面的示例中,我只会显示库存大于0的产品。如果这听起来太复杂,我愿意接受有关如何更好地执行此操作的建议。
Table 1
Col_1 Col_2
====== =====
1 500
2 500
3 400
Table 2
Col_1 Col_2 Col_3 (FK table1 Col_1)
====== ====== =======================
1 250 1
2 200 1
3 400 2
4 400 3
Desired result
Col_1(t1) Col_2(remaining stock)
======== ======================
1 50
2 100
答案 0 :(得分:1)
这样的事可能有用:
SELECT Col_1, Col_2 - Sold as Remaining_Stock FROM Table_1 JOIN
(SELECT Col_3, SUM(Col_2) as Sold FROM Table_2 GROUP BY Col_3) as Table_Sold
ON Table_1.Col_1 = Table_Sold.Col_3 AND Col_2 > Sold
子查询总计了您的销售额,然后与您的广告资源进行简单的加入就可以了。