2014-02-14 75 views
0

我有在MySQL两个表,MySQL的检索数据

第一种是这样的:

ID INFO1 INFO2 INFO3 INFO4 INFO5 
1 abc cde fgh ecc ecc 
2 xxx yyy zzz ecc ecc 
3 abc cde fgh ecc ecc 
4 abc cde fgh ecc ecc 

第二个是这样的:

ID1 ID2 INFO_F 
1 2 10 
2 3 23 
3 1 61 
. . . 

在哪里ID1和ID2是第一个表的相同ID。

现在我需要第三个表是这样的:

INFO1_ID1 INFO1_ID2 INFO2_ID1 INFO2_ID2 INFO3_ID1 INFO3_ID2 INFO_F 
    abc  xxx  cde  yyy  fgh  zzz  10 

在表2中的所有记录。

我希望很清楚...

在此先感谢您的帮助!

回答

0

你应该加入同一个表两次。

SELECT t11.*,t12.*,t2.* FROM t2 
LEFT JOIN t1 as t11 ON t1.ID = t2.ID1 
LEFT JOIN t1 as t12 ON t12.ID = t2.ID2 
+0

感谢它就是我正在寻找!!!!! – inzirio

0

我想你可以使用连接,只要你特别命名结果和表格。这可能会帮助你(你需要:

SELECT 
    id1, id2, info_f, 
    tb1a.id AS id1fromtb1, tb1a.INFO1 as info1fromtb1, 
    tb1b.id, tb1b.INFO1 
FROM table2 
JOIN table1 as tb1a on table2.id1=tb1a.id 
JOIN table1 as tb1b on table2.id2=tb1b.id 

http://sqlfiddle.com/#!2/f0744/4