SQL Проблема:SQL tablestructure Дружба и запрашивая
Я открыт для изменений в моих таблицах. Если я должен добавить тэг FriendshipRequest или если IsActive достаточно для сбора необходимой информации. Или, если мне нужно пойти со статусом: Ожидание, Принято, Отклонено и так далее.
Got table Пользователь и таблица Дружба.
Для каждого пользователя, у которого есть друзья или в ожидании дружбы, либо от себя, либо от себя, вставлены 2 строки.
| UID | FID | IsActive |
| 1 | 2 | 1 |
| 2 | 1 | 1 |
^ Здесь мы получили один friendinvitation от UID к FID. Приглашение принято, и они являются друзьями.
| UID | FID | IsActive |
| 1 | 2 | 1 |
| 2 | 1 | 0 |
^ Здесь мы получили один ожидающий приглашение от UID 1> 2 для дружбы. Другой пользователь (UID: 2) не обработал приглашение. Принять/Отклонить ака 1/0
| UID | FID | IsActive |
| 1 | 2 | 0 |
| 2 | 1 | 0 |
^ Здесь мы получили отклоненный запрос. Пользователь с идентификатором 2 отклонил приглашение. Чтобы установить обе колонки в False/0.
Дело в том, что я хочу написать запросы для: Получение всех ожидающих запросов. (IsActive 1 и IsActive = 0) Получить все друг для конкретного пользователя (Active Друзья IsActive = 1)
Таблицы, которые я использую это: Столбцы Пользователя: Идентификатор_пользователь КОЛОННА Friendship: Идентификатор_пользователь, FriendID, IsActive
Ive попробовал UNION ALL, дело в том, что я не знаю, как справиться с результатом.
SELECT
u.UserID, u.Username, f.IsActive
FROM Friendship f, [User] u
WHERE f.UserID = 6 AND f.FriendID = u.UserID AND f.IsActive = 1
UNION ALL
SELECT
u.UserID, u.UserName, f.IsActive
FROM Friendship f, [User] u
WHERE f.FriendID = 6 AND f.UserID = u.UserID AND f.IsActive = 1
'2 столбца вставлены.' Вы имели в виду, что две строки вставляются в указанную таблицу для каждого запроса друга? – Ejaz
Да, извините. Конечно, его ряды. – kmadh