我无法绕过一个简单的查询。我有一个Link
表,如下所示:
+----------+----------+
| SourceID | TargetID |
+----------+----------+
| 1 | 2 |
+----------+----------+
| 1 | 3 |
+----------+----------+
| 3 | 4 |
+----------+----------+
| 3 | 5 |
+----------+----------+
和Names
+----------+----------+
| ID | Name |
+----------+----------+
| 1 | Mitch |
+----------+----------+
| 2 | Cheryl |
+----------+----------+
| 3 | Sue |
+----------+----------+
| 4 | Harry |
+----------+----------+
| 5 | Bob |
+----------+----------+
我希望输出如此。结构化就像链接表一样,但改为使用名称。
+------------+------------+
| SourceName | TargetName |
+------------+------------+
| Mitch | Cheryl |
+------------+------------+
| Mitch | Sue |
+------------+------------+
| Sue | Harry |
+------------+------------+
| Sue | Bob |
+------------+------------+
感谢您的帮助。
答案 0 :(得分:2)
您必须使用不同的别名o
join
两次names
表。如果join
表格中的ID不在left join
中,请将link
更改为names
。
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