Mysql 不同表的求和和和分组

Mysql 不同表的求和和和分组,mysql,Mysql,我有三张桌子 Table (Store) +-----+-----+ | ID | Qty | +-----+-----+ | 001 | 4 | | 002 | 3 | | 003 | 5 | | 004 | 6 | +-----+-----+ Table (Received) +-----+-----+ | ID | Qty | +-----+-----+ | 001 | 2 | | 005 | 9 | | 001 | 5 | +-----+-----+

我有三张桌子

Table (Store)
+-----+-----+
| ID  | Qty |
+-----+-----+
| 001 |   4 |
| 002 |   3 |
| 003 |   5 |
| 004 |   6 |
+-----+-----+

Table (Received)
+-----+-----+
| ID  | Qty |
+-----+-----+
| 001 |   2 |
| 005 |   9 |
| 001 |   5 |
+-----+-----+

Table (Issued)
+-----+-----+
| ID  | Qty |
+-----+-----+
| 001 |   3 |
| 003 |   2 |
| 001 |   1 |
| 005 |   2 |
+-----+-----+
我想将门店的数量+已收-已发数量相加,按ID分组 我希望结果如下所示。请帮忙

Table (Stock)
+-----+-----+
| ID  | Qty |
+-----+-----+
| 001 |   7 |
| 002 |   3 |
| 003 |   3 |
| 004 |   6 |
| 005 |   7 |
+-----+-----+
你可以随心所欲

select 
x.id , coalesce(sum(qty),0)-coalesce(i_qty,0) from
(
 select id,qty from store
 union all 
 select id,qty from received
)x
left join(
 select id,sum(qty) as i_qty 
 from issued group by id
)y on x.id = y.id
group by id

您好,Chakraborty,如何在不使用union运算符的情况下获得相同的结果。使用union all没有问题,请告诉我您为什么不希望查询中使用union all?我使用的代码生成器不支持union和存储过程调用。很抱歉,仅使用join无法完成此类操作,因为即使使用左连接,如果左表中不存在某些ID,也会在结果中消除。所以union all确保所有ID都存在。我很惊讶代码生成器中不支持工会。它是某种框架吗?如果我的存储表包含所有的ID呢。我们可以使用join而不使用union all吗?