我有这个问题:
TABLE1 :
| ID | DESCRIPTION |
| 10 | Apple |
| 20 | Banana |
| 33 | Pineapple |
| 47 | Orange |
TABLE2 :
| ID | FRUIT1 | FRUIT2 |
| 1 | 10 | 47 |
| 2 | 47 | 10 |
| 3 | 33 | 20 |
| 4 | 20 | 33 |
如果我选择TABLE2
中的所有数据,我希望输出TABLE1.DESCRIPTION
和TABLE2.FRUIT1
的水果名称(TABLE2.FRUIT2
),而不是ID。
我该怎么做?
答案 0 :(得分:1)
使用不同的别名
加入table2
两次
select t2.id, f1.description, f2.description
from table2 t2
left join table1 f1 on f1.id = t2.fruit1
left join table1 f2 on f2.id = t2.fruit2
答案 1 :(得分:0)
您可以加入Table1
两次;你只需要提供不同的表别名:
SELECT ID, T1a.Description [Fruit1], T1b.Description [Fruit2]
FROM Table2 T2
INNER JOIN Table1 T1a
ON T2.Fruit1 = T1a.ID
INNER JOIN Table1 T1b
ON T2.Fruit1 = T1b.ID
答案 2 :(得分:0)
使用union将列组合在一起,如下所示:
Select t1.Description
from Table2 t2
INNER JOIN Table1 t1 on t1.ID = t2.Fruit1
UNION
Select t1.Description
from Table2 t2
INNER JOIN Table1 t1 on t1.ID = t2.Fruit2