选择行数>的条目其他表中为0

时间:2011-11-03 16:01:23

标签: mysql sql

我在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的项目的人。

3 个答案:

答案 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`;