2013-10-19 34 views
0

我有两个表这样的:MySQL的合并2行成一个

Item 
------------------------------------- 
|ID | ImageURLID | BannerImageURLID | 
------------------------------------- 
| 1 |  1  |  2   | 
| 2 |  3  |  4   | 
| 3 |  5  |  6   | 
------------------------------------- 

ImageURL 
-------------------------------------- 
|ID | iOSURL | iOSRetinaURL | 
-------------------------------------- 
| 1 | www.test.at | www.testR.at | 
| 2 | www.bann.at | www.bannR.at | 
| 3 | www.test.at | www.testR.at | 
| 4 | www.bann.at | www.bannR.at | 
| 5 | www.test.at | www.testR.at | 
| 6 | www.bann.at | www.bannR.at | 
-------------------------------------- 

,我想输出的外观类似的东西:

------------------------------------------------------------------------------------- 
|ID | ImageURLiOS | ImageURLiOSRetina | BannerImageURLiOS | BannerImageURLiOSRetina | 
------------------------------------------------------------------------------------- 
| 1 | www.test.at | www.testR.at | www.bann.at  |  www.bannR.at  | 
| 2 | www.test.at | www.testR.at | www.bann.at  |  www.bannR.at  | 
| 3 | www.test.at | www.testR.at | www.bann.at  |  www.bannR.at  | 
------------------------------------------------------------------------------------- 

我尝试了一些分组和内部连接但没有真正作品。 是否有可能使用SQL来完成该操作,还是我必须执行一些PHP处理?

+1

多加入到同一个表:http://stackoverflow.com/questions/199953/how-do-you-join-on-the-same-table-twice-in-mysql – Tim

回答

2
select i.id, 
     u.iOSURL as ImageURLiOS, 
     u.iOSRetinaURL as ImageURLiOSRetina, 
     ur.iOSURL as BannerImageURLiOS, 
     ur.iOSRetinaURL as BannerImageURLiOSRetina 
from item i 
left join imageurl u on u.id = i.imageurlid 
left join imageurl ur on ur.id = i.bannerimageurlid 
+0

哦,是的感谢人! – perotom