mysql - SQL查询返回null Mysql
问题描述
这是一个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'
推荐阅读
- matlab - 位置 1 的索引无效;以前版本的代码有效
- typescript - 打字稿类型检查开关语句,功能请求还是我做错了?
- kotlin - 如何在 Kotlin 中清除 RecyclerView?
- javascript - Videojs youtube视频没有在桌面Chrome的iframe中播放
- jquery - 使用 load() 在另一个内部调用 JQuery 一个 ajax
- node.js - 如何使用 Unity 和 Socket.IO 减少闪烁?
- amazon-web-services - 如何通过脚本将我的 ami 从一个帐户复制到另一个帐户
- maven - CentOS 中 POM.XML 文件的错误
- c++ - 是否允许并接受用删除标记静态方法?
- javascript - 什么 DOM 事件会更新 ReactJS 应用程序以及如何使用纯 Javascript 强制更新