用户表
id : Integer
name: String
user_review表
user_id: Integer
review: Integer
现在,user记录有许多user_review记录。
我需要获得所有具有5review
和4review
的用户。
SELECT * FROM user JOIN user_review ON user.id = user_review.user_id
WHERE user_review.review = 5 AND user_review.review = 4
Abobe代码正在恢复空结果。
我尝试了下面的代码,但是,返回错误的结果
SELECT * FROM user JOIN user_review ON user.id = user_review.user_id
WHERE user_review.review in [5, 4]
数据用户示例
id name
1 MM
2 EE
用户配置文件
user_id, review
1 4
1 5
2 4
2 5
3 4
4 5
想要的结果
id name
1 MM // user1, having (review4) and (review5)
2 EE // user2, having (review4) and (review5)
我想这就是你想要的。同时具有评审=4和评审=5的所有用户
select * from users
where exists(select * from user_review where user_id = user.id and review = 4)
and exists(select * from user_review where user_id = user.id and review = 5)