2011-08-24 169 views
0

我有一个称为ABC与3个字段表:ID1,ID2,ID3与数据:的MySQL/PHP接合单个记录到多个记录

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

我有称为XYZ与2个字段,id和一个第二表标题与数据:

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

表ABC中的ID匹配表XYZ中的每个记录的ID。 id喜欢做的是将表ABC中的id与表XYZ中的id连接起来,并在一行中显示标题。所以,如果前两个记录表ABC输出它看起来就像这样:

title_1, title_5, title_3 
title_3, title_4, title_2 

在PHP 1.4.3是好的,我只是有点与SQL丢失。我一直在尝试使用左连接,但是我对它并没有太多的了解。任何帮助将非常感激。

回答

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 

这768,16正确输出

title_1, title_5, title_3 
title_3, title_4, title_2 
+2

你应该选择标题为别名藏汉,否则将否决对方。 –

+0

你是对的,修好了 – arnaud576875

+0

这很好用,谢谢。我正在发布一个包含别名的回复,但随着代码更新,我看到没有意义。非常感谢你的帮助,非常感谢:) – Dan