我是根据id从不同的表中减去值。
它就像一个目录,我有一个表的itens进出。
我想做的是根据iten的id减去iten中的iten。
我设法做到了这一点,但是如果一个iten只作为in-movement,查询只显示一个空行,当它应该显示in-movement时,即使它不存在也应该被认为是0,在这种情况下只显示in-movement的值。
有人能帮忙吗?
每个表中的每一行代表一个项目。
表-已使用
标识项
1 _________500
2 _________1000
使用的表格
标识项
1 _________200
预期输出
二手库存
标识项\uuuuqnt
1 ________300
2\uuuu\uuuuu\uu1000(没有输出运动,所以应该只显示输入运动)
Select
in_used.qnt - out_used.qnt As used_Stock
From
in_used Inner Join
out_used On in_used.id_item = out_used.id_item
4条答案
按热度按时间pbpqsu0x1#
如果
id_item
是独一无二的in_used
最多有一排out_used
那你只需要一个LEFT
加入并COALESCE()
:如果有更多行,请同时使用聚合:
v64noz0r2#
听起来你想要这样的东西:
我不确定这两个表中的每一行是代表一个项目,还是有一个计数器。如果有一个计数器,那么应该用它来代替
1
/-1
.u0sqgete3#
在这种情况下,我们知道我们在所有情况下都有id\项用于连接结果,并且没有一个是空的:
但对于一般结果,您可以尝试以下查询:
希望这对你有用!
vybvopom4#
如果每个id有多个记录,则可以使用sum(),如果两个表上都没有记录,则必须使用full join,否则可以使用left join