Php 如何显示连接组中的所有记录

Php 如何显示连接组中的所有记录,php,mysql,database,Php,Mysql,Database,我的桌子 GROUPS ---------- id | groupName 4 Personal 5 Friends 6 University Records ---------- id | groupId | name 1 4 Majid 2 4 Jawad 3 5 Zain 4 5 Mohsin 5 6 Ismail 7 6

我的桌子

GROUPS
----------
id | groupName
4    Personal
5    Friends
6    University


Records
----------
id | groupId  | name
1    4          Majid
2    4          Jawad
3    5          Zain
4    5          Mohsin
5    6          Ismail
7    6          Zubair


groups_connected
--------------------
id   |  parent_id  |  child_id
1       4             5
2       5             6
这是我的表结构,我想在php中显示每个组的联系人及其父联系人。 例如当查看组5好友时,我想获取组ID 5的记录及其父组记录。 还有当有人想看第六组大学的时候。结果应该是大学组、朋友组和个人组
如果该组未与任何组关联,则仅显示该组记录。

您需要使用不同的别名加入
记录
两次

试试这个:

SELECT GC.id,R1.name as parent,G1.groupName as ParentGroup,R2.name as child,G2.groupName as ChildGroup
FROM groups_connected GC FULL OUTER JOIN
     Records R1 ON GC.parent_id = R1.id FULL OUTER JOIN
     GROUPS G1 ON R1.groupId = G1.id FULL OUTER JOIN
     Records R2 ON GC.child_id = R2.id FULL OUTER JOIN
     GROUPS G2 ON R2.groupId = G2.id
 WHERE G1.id = 5 OR G2.id = 5

因为你的写作质量,我给了你一个-1和一个删除的标志。为你糟糕的写作道歉。这是我的第二个问题此查询不起作用。记录表中有行,但返回的结果集为空:(@0)Bull@israr:然后更改加入的类型。。更新了我的答案。@israr:如果您满意,请随意接受答案,以便将来帮助他人。如果您不知道如何接受答案,请。