MySQL / PHP将单个记录连接到多个记录

时间:2011-08-24 10:39:57

标签: php mysql join

我有一个名为ABC的表,有3个字段:id1,id2,id3,数据:

id1 | id2 | id3
________________
1   |  5  | 3
3   |  4  | 2
2   |  3  | 1

我有一个名为XYZ的第二个表,其中包含2个字段,id和title with data:

id |  title
______________
1  |  title_1 
2  |  title_2 
3  |  title_3
4  |  title_4
5  |  title_5

表ABC中的ID与表XYZ中每条记录的ID相匹配。我喜欢做的是将表ABC中的ID与表XYZ中的ID连接起来并连续显示标题。因此,如果输出表ABC中的前两个记录,它将如下所示:

title_1, title_5, title_3
title_3, title_4, title_2

在PHP中输出很好我只是有点迷失SQL。我一直在尝试使用左连接,但我还没有走得太远。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

您可以使用不同的连接条件多次加入同一个表:

SELECT xyz1.title as title1, xyz2.title as title2, xyz3.title as title3
FROM ABC
JOIN XYZ as xyz1 ON xyz1.id = ABC.id1
JOIN XYZ as xyz2 ON xyz2.id = ABC.id2
JOIN XYZ as xyz2 ON xyz3.id = ABC.id3

这应该正确输出

title_1, title_5, title_3
title_3, title_4, title_2