Помогите с оператором SQL - PullRequest
2 голосов
/ 08 апреля 2011

Получил две таблицы: users(id, column) и objects(user_id, column).
Как извлечь всех пользователей, у которых нет соответствующего объекта?
Я использую MySQL.

Ответы [ 4 ]

5 голосов
/ 08 апреля 2011

Что-то вроде этого должно быть достаточно, оставьте внешнее соединение, чтобы сохранить всех пользователей, затем удалите всех, у которых есть соответствующий объект.

Select * 
from
   users u left outer join
   objects o on u.[id] = o.user_id
where
   o.user_id is null
3 голосов
/ 08 апреля 2011

Вы должны использовать соединение.

Например:

SELECT u.id, o.id 
FROM users u 
LEFT JOIN objects o ON o.user_id = u.id 
WHERE o.id IS NULL
0 голосов
/ 08 апреля 2011

Примерно так должно поступить:

SELECT u.*
FROM users u
WHERE u.id not in
(SELECT o.user_id
FROM objects o)
0 голосов
/ 08 апреля 2011
SELECT usr.id
FROM users usr LEFT OUTER JOIN objects obj
ON usr.id=obj.user_id 
WHERE usr.id IS NULL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...