连接多个匹配值的表

时间:2018-03-17 16:03:47

标签: mysql join

鉴于table1的字段为 person1_id,person2_id和person3_id

和表2包含字段 fname,lname,id ,我想在table2中为person1_id,person2_id和person3_id返回名称,希望在一个查询中。

我了解如何进行连接以检索一个名称,但不能检索多个名称。

由于

3 个答案:

答案 0 :(得分:1)

您可以为1个表使用多个连接。 请试试这个,如果这可以解决您的问题,请告诉我。

select e.*,
students1.fname, students1.lname,
students2.fname, students2.lname,
students3.fname, students3.lname
from events as e
left join students as students1 on students1.stu_id1 = e.stu_id
left join students as students2 on students2.stu_id2 = e.stu_id
left join students as students3 on students3.stu_id3 = e.stu_id

答案 1 :(得分:0)

我想帮你解决这个SQL查询...

SELECT table2.fname, table2.lname, table2.id
FROM table2
FULL JOIN table1
ON table2.id=table1.person1_id OR table2.id=table1.person2_id OR table2.id=table1.person3_id ORDER BY table2.id;

答案 2 :(得分:0)

试试这个,

基于以上回答

SELECT table2.fname, table2.lname, table2.id
FROM table2
INNER JOIN table1
ON 
(table2.id=table1.person1_id OR table2.id=table1.person2_id OR table2.id=table1.person3_id)
 ORDER BY table2.id;