我正在尝试获取其available_qty的所有项目
available_qty基于包含item_id、type(enum=['in','out'])和qty列的表事务
项目表是事务的父表,包含列名、说明、单位等
到目前为止,我所尝试的就是这个。
SELECT name,
(
(SELECT sum(qty) from transactions WHERE items.id=transactions.item_id and type='in')
-
(SELECT sum(qty) from transactions WHERE items.id=transactions.item_id and type='out')
) as available_qty FROM `items`;
如果其中一个子查询返回空值,即使另一个子查询返回正数,上述查询也将返回空值。
我想得到实际的可用数量。我想把这个子查询转换成模型获取方法与addSelect或闭包。。请帮助我。
1条答案
按热度按时间agxfikkp1#
您只需连接两个表和,然后根据
type
值对qty
求和