mysql - 对于连接表不匹配的情况,使用两个表之间的连接进行计算
问题描述
我正在尝试计算静态表和动态表之间的值(从 A 中减去 B)。在某些情况下,动态表还没有与静态表匹配的记录,所以我只希望它减去 0。我的 Join 在这些情况下返回 NULL:
Select T1.A-T2.B from Table1 T1
Left Join Table2 T2
On T1.ID=T2.Table2_ID
我如何设置 if 以便它只使用 0 呢?不确定是否/如何在此处使用 ifNull ...
解决方案
如果 T2.B 不可用,请使用coalesce()
或 MySQL 特定函数来提供零:ifnull()
选择 T1.A - coalesce(T2.B,0) 作为计算 从表 1 T1 Left Join Table2 T2 On T1.ID=T2.Table2_ID
推荐阅读
- swift - Swift 5 链接两个不同的 .plist 文件
- python - 使用python在html中的子字符串周围放置标签
- java - 在模块 core-1.1.0-runtime.jar 中找到重复的类 android.support.v4.app.INotificationSideChannel
- database - 如何编辑/修改或更改计划的每日 csv 文件上传到 Data Studio 的数据?
- ios - tabBarController 选择的索引在 viewController [Swift] 中不起作用
- reactjs - 使用更新不可变助手我得到 eslint 错误:在引用前一个状态时在 setState 中使用回调
- laravel - Laravel:从单个路由中删除“api”前缀
- firebase - 类颤振中未定义方法'SignInWithTwitter
- javascript - 我想根据悬停事件将动画选项卡添加到网格元素
- javascript - 如何在 javascript 谷歌地图 API 上用米显示 geojson 数据