2017-05-25 40 views
-1

まで参加:私は私はデータを含む2つのテーブル持っている2つのSQLテーブル

Users, GroupID, PostID 

ユーザーが複数のグループに属することができます含まれているテーブルの出力を取得したい

GroupMembers 
Users, GroupID 

GroupPosts 
GroupID,PostID 

をし、各グループは複数の投稿を持つことができます。だから私はすべてのユーザーとすべての単一の投稿をしたいと思います。

ので

GroupMembers: 

+-------+---------+ 
| Users | GroupID | 
+-------+---------+ 
| User1 | Group1 | 
+-------+---------+ 
| User2 | Group1 | 
+-------+---------+ 
| User2 | Group2 | 
+-------+---------+ 
| User3 | Group2 | 
+-------+---------+ 

GroupPosts 

+---------+--------+ 
| GroupID | PostID | 
+---------+--------+ 
| Group1 | Post1 | 
+---------+--------+ 
| Group1 | Post2 | 
+---------+--------+ 
| Group2 | Post1 | 
+---------+--------+ 
| Group2 | Post4 | 
+---------+--------+ 

場合、私はそれが理にかなって願っています

+-------+--------+-------+ 
| User | Group | Post | 
+-------+--------+-------+ 
| User1 | Group1 | Post1 | 
+-------+--------+-------+ 
| User1 | Group1 | Post2 | 
+-------+--------+-------+ 
| User2 | Group1 | Post1 | 
+-------+--------+-------+ 
| User2 | Group1 | Post2 | 
+-------+--------+-------+ 
| User2 | Group2 | Post1 | 
+-------+--------+-------+ 
| User2 | Group2 | Post4 | 
+-------+--------+-------+ 
| User3 | Group2 | Post1 | 
+-------+--------+-------+ 
| User3 | Group2 | Post4 | 
+-------+--------+-------+ 

を含むテーブルを返すべきでしょうか?

お手数ですが、

答えて

2

あなたは、単純なJOINクエリ、例えば使用することができます。

SELECT g.users, g.groupID, gp.postid 
FROM GroupMembers g JOIN GroupPosts gp ON g.groupID = gp.groupID; 
0

人々はJOIN構文を使用して愛を、あなたはあまりにもそれを愛するかもしれないが、私は「オールドスクール」構文等しいとより読みやすい見つける:

select a.Users, a.GroupID, b.PostID 
from GroupMembers a, GroupPosts b where b.GroupID = a.GroupID; 

JOINを使用すると、JOIN ON b.GroupID = a.GroupIDのようなものになります。 :) MとしてGROUPMEMBERSから

0

選択m.users、m.groupid、p.groupid、p.postid

はm.groupid = p.groupid

にPとしてGroupPostsをJOINモバイルではあなたのポストを参照することはできませんが、私はそうだったと思います。

関連する問題