Пример 3 связанных таблиц: ![enter image description here](https://i.stack.imgur.com/LNlXM.png)
- Пользователь 2 (март ie) не зарегистрирован в таблице "связей". Поэтому позже при использовании SELECT его значение отношения должно быть нулевым / пустым.
Я делаю следующий SELECT, который получает все связанные данные, которые меня интересуют (правильно):
SELECT id, action, actions.uid, name, relation
FROM actions
LEFT JOIN (SELECT * FROM relations GROUP BY uid) USING (uid)
INNER JOIN users USING (uid)
GROUP BY actions.id;
И вернуть: ![enter image description here](https://i.stack.imgur.com/pEPmv.png)
Проблема возникает, когда мне нужно использовать условия для «отбрасывания» результатов на основе типа отношения.
Я делаю следующий запрос, чтобы отбросить "друга" (отношение) из предыдущих результатов:
SELECT id, action, actions.uid, name, relation
FROM actions
LEFT JOIN (SELECT * FROM relations GROUP BY uid) USING (uid)
INNER JOIN users USING (uid)
WHERE relation != 'friend'
GROUP BY actions.id;
Однако он должен вернуть один результат (март ie), и он возвращает 0 результатов .. .
Меня не интересует получение Mar ie в результате условия типа, такого как "... WHERE отношение равно NULL", мои запросы должны работать отбрасыванием, поскольку они принадлежат фильтрующий инструмент.
![enter image description here](https://i.stack.imgur.com/l2KGx.png)