这是一个sql查询:
SELECT SUM(a.quantity)-SUM(IF(ISNULL(b.quantity),0,b.quantity)) AS stock
FROM wp_wpsp_inventory_items a, wp_wpsp_assigned_inventory b
WHERE a.master_id='9' AND
(CASE WHEN ISNULL(b.quantity)
THEN '' ELSE a.master_id=b.master_id
END)
有两个表a
和b
。表a
存储所有流入,表b
存储所有流出。在这里,我尝试通过流入减去流出来计算库存。但在某些情况下,表 b
中没有任何项目条目,在这种情况下,查询将返回 NULL
。我尝试使用 IF()
和 ISNULL()
但没有任何效果。请帮忙
最佳答案
您应该使用左外连接。
SELECT SUM(a.quantity - coalesce(b.quantity, 0)) AS stock
FROM wp_wpsp_inventory_items a
LEFT JOIN
wp_wpsp_assigned_inventory b
ON a.master_id = b.master_id
WHERE a.master_id = '9'
关于mysql - SQL 查询返回 null Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50249733/