mysql从连接表开始检索数据

时间:2014-02-14 15:16:19

标签: mysql sql join pivot

我在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中的所有记录。

我希望很清楚......

先谢谢你的帮助!!

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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