[英]MySQL Select ID where all columns under ID don't meet condition
我有一个表“付款”,其中 student_id 是一个外键。
student_id Monthpaid year payment_id
51 1 2019 1
52 1 2019 2
51 2 2019 3
我试过这个查询:
SELECT * FROM Payments WHERE Monthpaid !=2
我得到这个结果:
student_id Monthpaid year payment_id
51 1 2019 1
52 1 2019 2
51 2 2019 3
但我想要这个 ID 52 没有 Monthpaid = 2 的地方:
student_id Monthpaid year payment_id
51 1 2019 1
我认为您正在寻找:
select t.*
from t
where not exists (select 1
from t t2
where t2.id = t.id and t2.monthpaid = 2
);
这将返回一个id
的所有行,其中该id
的月份不是 2。这就是我解释你的问题的方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.