выбрать записи с количеством строк> 0 в другой таблице - PullRequest
0 голосов
/ 03 ноября 2011

У меня есть две таблицы пользователей и элементы в БД MySQL

Users
pk   username
1    John
2    Adam
3    Eve

Items
pk   user_pk    status
1    1          0
2    1          1
3    2          0

Я хочу создать выбор, который возвращает всех пользователей, которые имеют 1 или более элементов, которые имеют статус> 0.

В приведенном выше случае я хотел бы вернуть только Джона, поскольку он единственный, имеющий предмет со статусом 1.

Ответы [ 3 ]

2 голосов
/ 03 ноября 2011

Попробуйте это:

SELECT DISTINCT u.username
FROM users u INNER JOIN items it
    ON u.pk = it.user_pk
WHERE it.status > 0
0 голосов
/ 03 ноября 2011
SELECT `Users`.`username` 
    FROM `Users`, `Items` 
    WHERE `Items`.`status` > 0 
        AND `Users`.`pk` = `Item`.`user_pk`;
0 голосов
/ 03 ноября 2011
SELECT Users.username FROM Users JOIN Items
ON Users.pk = Items.pk
WHERE Items.status>0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...