sql - SQL 根据列表检查缺失的值
问题描述
忍受我这个
2 表连接如下图所示。
机箱 ID 100 和 300 的模块 ID 为 29。
但是机箱 ID 200 模块 ID 为 NULL
这是出于审计目的,以确保所有机箱 ID 的模块 ID 为 29,如果没有,则显示 NULL
解决方案
如果您的要求是显示chassis
表中的所有行,则使用left join
如下所示 -
SELECT *
FROM CHASSIS C
LEFT JOIN CHASSIS_MODULE CM ON CM.chassis_id = C.chassis_id
如果您想显示丢失chassis
的人,请尝试以下查询 -module
SELECT *
FROM CHASSIS C
LEFT JOIN CHASSIS_MODULE CM ON CM.chassis_id = C.chassis_id
WHERE CM.module_id IS NULL;
推荐阅读
- php - foreach 循环忽略数组顺序
- kubernetes - 尝试初始化数据库时收到 TLS 错误
- sql-server - 跟踪订单更改的最佳设计
- python - 如何修复此 AttributeError:“SubRequest”对象没有属性“getfuncargvalue”?
- c - Looping print only last line of my file (after 2 loops)
- sql - 子查询返回超过 1 个值。当子查询跟随 =、!=、<、<=、>、>= 或
- sql - 使用 Min 和 Sum 以及 Group By 进行 SQL 更新
- java - 如何使用for循环以相反的顺序在数组中插入元素
- javascript - 如何将此 JQuery 转换为 vanilla Javascript?
- ios - 在 Mac Catalyst 中打开一个新窗口