查询链接表SQL
我对一个简单的问题感到困惑。我有一个查询链接表SQL,sql,tsql,Sql,Tsql,我对一个简单的问题感到困惑。我有一个链接表,如下所示: +----------+----------+ | SourceID | TargetID | +----------+----------+ | 1 | 2 | +----------+----------+ | 1 | 3 | +----------+----------+ | 3 | 4 | +----------+----------+ | 3
链接
表,如下所示:
+----------+----------+
| SourceID | TargetID |
+----------+----------+
| 1 | 2 |
+----------+----------+
| 1 | 3 |
+----------+----------+
| 3 | 4 |
+----------+----------+
| 3 | 5 |
+----------+----------+
以及名称表
+----------+----------+
| ID | Name |
+----------+----------+
| 1 | Mitch |
+----------+----------+
| 2 | Cheryl |
+----------+----------+
| 3 | Sue |
+----------+----------+
| 4 | Harry |
+----------+----------+
| 5 | Bob |
+----------+----------+
我希望这样的输出。结构与链接表类似,但使用名称代替
+------------+------------+
| SourceName | TargetName |
+------------+------------+
| Mitch | Cheryl |
+------------+------------+
| Mitch | Sue |
+------------+------------+
| Sue | Harry |
+------------+------------+
| Sue | Bob |
+------------+------------+
谢谢您的帮助。您必须使用不同的别名加入
名称表两次。如果链接
表的id不在名称中,请将连接
更改为左连接
select t1.name as sourcename, t3.name as targetname
from link t2
join names t1 on t1.id = t2.sourceid
join names t3 on t3.id = t2.targetid