在使用SQL Server 2008 R2查询时如何使用其他列替换提取的值

Mon*_*RPG 3 sql replace multiple-columns sql-server-2008-r2

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

我们有1个表这个表包含

Id
Name
Number
Run Code Online (Sandbox Code Playgroud)

现在的例子

1 House 4
2 Hospital 3
3 Airport 1
4 Station 2
Run Code Online (Sandbox Code Playgroud)

现在当提取为 select * from table

我想用表示Name的数字替换第三列数值

所以提取的例子

1 House Station
2 Hospital Airport
3 Airport House
4 Station Hospital
Run Code Online (Sandbox Code Playgroud)

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

jue*_*n d 11

select t1.id, 
       t1.name,
       t2.name as name2
from your_table t1
left join your_table t2 on t1.number = t2.id
Run Code Online (Sandbox Code Playgroud)

您可以将同一个表连接两次以替换numbername.连接中的oncontidion再次匹配表,然后您可以name从该表中选择(t2)

SQLFiddle示例