私はソーシャルネットワークのようなサイトを作っています。私は3つのテーブルを持っています。私は、各ユーザーと、ブロックされている合計の友人数と友人数を検索しています。入れ子になったクエリを書き込む方法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
です。ブロックされたFriendsの検索数を同じクエリに含める方法
私の予想出力は
| FirstName | TotalFriendsCount | BlockedFriendsCount |
あなたtbl_Statusが私のために意味をなさないしてみているのですか?彼は誰によってブロックされていますか? – Veljko89
Adminによってブロックされます。私は管理部分をやっています。管理側で私はユーザーリストをリストアップしていて、その友人カウントとブロックされた友人カウント@ Veljko89 – Ritz
だから、あなたはtbl_Friends.Statusが 'ブロックされる'と言いたいのですか?どの列がBlockedFriendsを表示しているのか分かりません – Veljko89