繁体   English   中英

MySQL Select ID下所有列不满足条件的ID

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM