查询相关成员

时间:2014-12-27 11:47:10

标签: mysql sql select union relationship

如果我无法正确描述我的问题,请原谅我,因为我对此感到困惑。

我正在尝试向其详细信息页面打开的人显示相关成员。为此,我有一个成员表:

memID  |  name
1       |  Tom
2       |  Shawn
3       |  Bill

用于关联/关联成员的表,其中mem1值是成员的memID,其详细信息页面用于关联成员,如member.php?memID = 1

recID  |  mem1  |  mem2
1      |  1     |  2
2      |  3     |  1

现在,当在成员详细信息页面上仅显示相关成员时,问题就出现了,我没有找到一种方法只显示数组中的相关成员而不是该成员本身,因为我不知道在哪个字段(mem1或mem2) )memID保存为成员,其详细信息页面已打开。

例如,在Tom的页面上,即member.php?memID = 1,我想从成员表中获取只有相关成员的名字,即Shawn和Bill。

1 个答案:

答案 0 :(得分:3)

MemID = 1

试试这个:

SELECT m.memID, m.name, A.recId 
FROM member m 
INNER JOIN (SELECT recId, mem2 AS memID FROM relatedMembers WHERE mem1 = 1
            UNION 
            SELECT recId, mem1 AS memID FROM relatedMembers WHERE mem2 = 1
           ) AS A ON m.memID = A.memID