我在MySQL DB中有两个表用户和项目
Users
pk username
1 John
2 Adam
3 Eve
Items
pk user_pk status
1 1 0
2 1 1
3 2 0
我想创建一个选择,返回包含状态为> 0的一个或多个项目的所有用户。
在上面的情况中,我想只返回John,因为他是唯一拥有状态为1的项目的人。
答案 0 :(得分:2)
试试这个:
SELECT DISTINCT u.username
FROM users u INNER JOIN items it
ON u.pk = it.user_pk
WHERE it.status > 0
答案 1 :(得分:0)
SELECT Users.username FROM Users JOIN Items
ON Users.pk = Items.pk
WHERE Items.status>0
答案 2 :(得分:0)
SELECT `Users`.`username`
FROM `Users`, `Items`
WHERE `Items`.`status` > 0
AND `Users`.`pk` = `Item`.`user_pk`;