另一个MySQL表

时间:2016-01-28 02:57:47

标签: mysql

我有两张表格如下。表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

1 个答案:

答案 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

子查询总计了您的销售额,然后与您的广告资源进行简单的加入就可以了。