Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 连接两个sql表_Mysql_Sql_Database - Fatal编程技术网

Mysql 连接两个sql表

Mysql 连接两个sql表,mysql,sql,database,Mysql,Sql,Database,我有两个包含数据的表: GroupMembers Users, GroupID GroupPosts GroupID,PostID 我想得到一个包含 Users, GroupID, PostID +-------+--------+-------+ | User | Group | Post | +-------+--------+-------+ | User1 | Group1 | Post1 | +-------+--------+-------+ | User1 | Grou

我有两个包含数据的表:

GroupMembers
Users, GroupID

GroupPosts
GroupID,PostID
我想得到一个包含

Users, GroupID, PostID
+-------+--------+-------+
| 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 |
+-------+--------+-------+
用户可以属于多个组,每个组可以有多个帖子。所以我希望所有的用户和每一篇文章

所以如果

GroupMembers:

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

GroupPosts

+---------+--------+
| GroupID | PostID |
+---------+--------+
| Group1  | Post1  |
+---------+--------+
| Group1  | Post2  |
+---------+--------+
| Group2  | Post1  |
+---------+--------+
| Group2  | Post4  |
+---------+--------+
应该返回一个包含

Users, GroupID, PostID
+-------+--------+-------+
| 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 |
+-------+--------+-------+
我希望这有意义


谢谢你的帮助

您可以使用一个简单的
JOIN
查询,例如:

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

人们喜欢使用JOIN语法,您可能也喜欢,但我发现使用equals“oldschool”语法更容易阅读:


使用JOIN只需要在b.GroupID=a.GroupID上使用JOIN,我相信。:)

选择m.users、m.groupid、p.groupid、p.postid

来自作为m的GroupMembers

在m.groupid=p.groupid上以p的身份加入GroupPost

在手机上,所以不能回头看你的帖子,但我想就是这样