Я создаю сайт, как социальная сеть. У меня есть 3 стола. Я нахожу каждого пользователя и их количество друзей и количество друзей, которые заблокированы.Как написать вложенный запрос Подключение трех таблиц?
1. tbl_Registrations
| Id | FirstName |
*************************
1 User1
2 User2
3 User3
4 User4
5 User5
6 User6
7 User7
8 User8
2.tbl_Friends
| Id | SenderId | ReciverId | Status |
1 1 2 Accept
2 3 1 Accept
3 4 1 Accept
4 2 3 Accept
5 3 8 Accept
6 4 2 Accept
7 4 3 Accept
8 8 4 Accept
3. tbl_Status
| Id | UserId | Status |
1 1 Blocked
2 3 Blocked
3 4 Allowed
4 2 Blocked
5 6 Blocked
6 5 Allowed
7 8 Blocked
8 7 Allowed
мой запрос
SELECT tbl_Registrations.FirstName, COUNT(*) AS TotalFriends
FROM tbl_Friends INNER JOIN tbl_Registrations ON tbl_Friends.SenderId = tbl_Registrations.Id
OR tbl_Friends.ReciverId = tbl_Registrations.Id
WHERE (tbl_Friends.Status = 'Accept')
GROUP BY tbl_Registrations.FirstName
Используя мой запрос я получу только имя и общие друзья. Как включить подсчет заблокированных друзей в том же запросе.
мой ожидаются выход
| FirstName | TotalFriendsCount | BlockedFriendsCount |
вашего tbl_Status не имеет смысла для меня, как вы знаете, Идентификатор_пользователь 1 заблокирован? Он заблокирован кем? – Veljko89
Заблокирован администратором. Я занимаюсь администратором. В админке я перечисляю список пользователей, а их друзья подсчитывают и блокируют друзей count @ Veljko89 – Ritz
Итак, вы хотите сказать tbl_Friends.Status может быть «заблокирован»? Я просто не могу понять, в каком столбце отображается BlockedFriends. – Veljko89