mysql - 从没有一些记录的两个表中选择
问题描述
我有两张桌子:
t1 contain ID_car (unique), name
t2 contain ID_car(from t1), status (many status records on same ID_car)
我需要以下结果:
All ID_car FROM t1 WITHOUT status = something
我已经尝试过 INNER、LEFT、RIGHT JOIN 并且没有用。我怎样才能做到这一点?非常感谢您的帮助!
更多细节:
t1
------------
ID_car name
------------------
1 Toyota
2 Honda
3 Mazda
4 Ford
t2
-----------------
ID_car status
1 ok
1 not_ok
2 ok
4 not_ok
ID_car 3 din 在 t2 中没有任何记录,但我想显示结果
我需要以下结果(来自 t1 的所有汽车,没有汽车状态 not_ok):
the expected result
-----------------
ID_car status
2 ok
3
更新 2 终于解决了!感谢帮助!这对我有用:
SELECT * FROM t1
WHERE t1.ID_auto NOT IN
(SELECT DISTINCT t1.ID_auto FROM t1, t2 WHERE t1.ID_auto = t2.ID_auto AND t2.category='not_ok')
解决方案
SELECT ID_car
FROM t1
LEFT JOIN
t2 on t1.ID_car=t2.ID_car
WHERE NOT t2.status='something'
从我的头顶创建,希望它有效!
也许如果您可以发布您编写的查询,也许它们可以向我们展示为什么联接不起作用,因为它应该起作用。
推荐阅读
- spring - 如何使用spring webflux实现跟踪服务到服务?
- c# - 在 .NET 5 中生成 Microsoft Fakes 程序集
- python - 如何在程序不停止的情况下使用异常?
- css - 将 CSS Grid 内容从一列移动到另一列
- linux - 无法根据 java 程序的结果运行脚本
- twincat - IEC61131-3中功能块调用的区别
- javascript - AR.js 全景图中的标记问题
- c# - EF Core 连接结果的通用类型类
- javascript - 范围日期的 Flatpicker 最小天数
- javascript - 在函数内创建函数或常量 Javascript