4 つのテーブルで構成されるかなり単純なデータベースがあります。
Table 1: USERS
Columns: userID, user_name
Table 2: GROUPS
Columns: groupID, group_name
Table 3 (Junction Table): GROUP_MATRIX
Columns: userID, groupID
Table 4: Messages
Columns: messageID, message, userID, groupID
次の形式の結果を持つすべてのメッセージに対してクエリを実行したいと思います。
user_name, message
私は次のようにクエリを作成しました:
SELECT USERS.user_name, MESSAGES.message
FROM GROUP_MATRIX
JOIN USERS on GROUP_MATRIX.userID = USERS.userID
JOIN MESSAGES on GROUP_MATRIX.userID = MESSAGES.userID
ある程度は機能しますが、重複した結果が返されます。user_ID が GROUP_MATRIX に複数回表示されると、そのユーザーの結果が重複するようです。明らかに、私がやろうとしているJOINを理解していません。誰かが私が間違っていることを理解するのを手伝ってくれますか?