3

好吧,让我用例子来解释我的问题

我们有 1 个表 此表包含

Id
Name
Number

现在的例子

1 House 4
2 Hospital 3
3 Airport 1
4 Station 2

现在当获取为select * from table

我想用代表名称的数字替换第三列数字值

所以获取的例子

1 House Station
2 Hospital Airport
3 Airport House
4 Station Hospital

我怎样才能做到这一点 ?谢谢你

4

2 回答 2

11
select t1.id, 
       t1.name,
       t2.name as name2
from your_table t1
left join your_table t2 on t1.number = t2.id

您可以加入同一张表两次以number替换name. 连接中的on条件再次与表匹配,然后您可以name从该表中选择 ( t2)

SQLFiddle 示例

于 2012-10-07T18:40:51.040 回答
1

您可以使用显式连接来执行此操作:

select t.id, t.name, t2.name as otherName
from t left outer join
     t t2
     on t2.number = t.id
于 2012-10-07T18:41:05.610 回答