我是SQL的新手,无法想出这个简单的事情。我有两张桌子:
+----------+----------+
| Person_1 | Person_2 |
+----------+----------+
| 1 | 2 |
| 1 | 4 |
| 3 | 2 |
+----------+----------+
和
+----+------+
| ID | City |
+----+------+
| 1 | A |
| 2 | B |
| 3 | A |
| 4 | A |
+----+------+
列Person_A和Person_B中的值引用第二个表中的ID。我想结合这两个表来得到一个像这样的结果表:
+----------+----------+---------------+---------------+
| Person_1 | Person_2 | Person_1_City | Person_2_City |
+----------+----------+---------------+---------------+
| 1 | 2 | A | B |
| 1 | 4 | A | A |
| 3 | 2 | A | B |
+----------+----------+---------------+---------------+
我怎样才能做到这一点?
使用JOIN
与城市两次:
select p.persion1, p.persion2,
c1.city as persion1city,
c2.city as persion2city
from person p
left join city c1 on p.Person_1 = c1.id
left join city c2 on p.Person_2 = c2.id