У меня были трудные времена выяснить, как выбрать следующие ...кросс SQL спичечные данные из разных столбцов и строк
У меня есть две таблицы
Table_users Table_followers
| id | name | | follow_id | user_id |
| 1 | John | | 1 | 2 |
| 2 | Max | | 3 | 1 |
| 3 | Mary | | 2 | 1 |
| 4 | Robert | | 6 | 1 |
| 5 | Robin | | 1 | 5 |
| 6 | Sarah | | 1 | 6 |
- Я хотел бы чтобы вернуться в один запрос, пользователи, следующие за Джоном и Джоном, за ними следуют, так что это будет называться MATCH.
- Тогда пользователи, которые следуют Джон Последователи
- И, наконец, пользователи следуют Джон, НИЖЕ
я использовал следующий запрос, но он возвращает дубликаты, и это далеко от того, что я ищу
SELECT u.id, u.name, f.follower_id, f.user_id
FROM table_users u
LEFT JOIN table_followers f ON f.follower_id = u.id OR f.user_id = u.id
WHERE (f.user_id != 1 OR f.follower_id != 1) AND u.id != 1
ORDER BY u.id ASC";
Желаемый результат был бы как ...
| uid | name | match | follower | following |
| 2 | Max | 1 | null | null |
| 6 | Sarah | 1 | null | null |
| 3 | Mary | null | 1 | null |
| 5 | Robin | null | null | 1 |
было бы р ossible вообще с SQL?
0 еще лучше! – Armand
@Armand Тогда последняя ссылка на образец должна быть тем, что вы хотите. :) – jpw