首页 > 解决方案 > 如何从表 1 中插入的数据更新表 2?

问题描述

你能帮我查询我用另一个表更新一个表的数据吗?

例如,我有 2 个表:

tbl_med_take

| id | name |   med  | qty |
---------------------------------
| 1 | jayson | med2 |  3   |
| 2 |   may   | med2 |  4   |
| 3 | jenny.  | med3 |  6   |
| 4 |   joel.   | med3 |  4   |

tbl_med

| id | med | stocks |
-----------------------------
| 1 | med1 |    20    |
| 2 | med2 |.   17    |
| 3 | med3 |    24    |

我在 tbl_med 中想要的输出:

tbl_med

| id | med | stocks |
-----------------------------
| 1 | med1 |    20    |
| 2 | med2 |.   10    |
| 3 | med3 |    14    |

标签: sqlsql-server

解决方案


首先获取使用的总med_tbl_take消耗量

select med,sum(quantity) as total from tbl_med_take group by med

然后你可以left join用你的med_tbl和减去。

select m.id,m.med,(m.stocks-ISNULL(n.total,0)) from tbl_med m 
left join
(select med,sum(quantity) as total from tbl_med_take group by med) n
on m.med=n.med

在这里查看演示


推荐阅读