2014-07-23 35 views
0

我想连接两个表,以便从另一个替换一个数字值,问题是我有两列在同一个表中。看到这个例子讲清楚:SQL加入表

TABLE_1 t1_ID INT, t1_Name VARCHAR(20)

表2 t2_ID INT , ONE Table_1 , TWO Table_1

表2中我存储的ID和我想让以便与t1_Names替换这些ID的联接。

我已经试过这种结构,但它给出错误的答案

Select * 
    FROM table1 
    JOIN table2 ON table1.id=table2.table1_id 
    JOIN table3 t3_1 ON table2.table3_id_1=t3_1.id 
    JOIN table3 t3_2 ON table2.table3_id_2=t3_2.id 

回答

0

您可以加入同一个表两次,但你需要给这个表不同的名称(别名)

Select t2.id, t1_1.name, t1_2.name 
FROM table2 t2 
JOIN table1 t1_1 ON t1_1.id = table2.table1_id 
JOIN table1 t1_2 ON t1_2.id = table2.table2_id