SQL 使用另一个 table 的一对 ID 查询相关 Table(显示名称而不是 ID)
SQL Query for related Table with pair of id´s from another table (show names instead id´s)
我有两个相关的表。第一个 table (tbl1) 就像
编号 |名字
- 1 | X
- 2 | Y
- 。 | .
- 。 | .
- 。 | .
第二个table (tbl2)
ID1 | ID2
- 2 | 1
- 。 | .
- 。 | .
- 。 | .
所以,我尝试写一个 SQL 查询来显示这样的名字:
姓名1 |姓名 2
- 是 | X
- 。 | .
- 。 | .
- 。 | .
我试过了 SQL:
SELECT tbl1.name, tbl1.name FROM tbl2
INNER JOIN tbl1 ON tbl2.id_tbl1 = tbl1.id
INNER JOIN tbl1 AS t1 ON tbl2.id_tbl1 = t1.id;
但它不起作用。
有人可以给我 SQL 查询我的问题吗?
两个联接是正确的方法。但是你需要参考别名:
SELECT t1_1.name, t1_2.name
FROM tbl2 t2 JOIN
tbl1 t1_1
ON t2.id_tbl1 = t1_1.id JOIN
tbl1 t1_2
ON t2.id_tbl1 = t1_2.id;
我有两个相关的表。第一个 table (tbl1) 就像
编号 |名字
- 1 | X
- 2 | Y
- 。 | .
- 。 | .
- 。 | .
第二个table (tbl2)
ID1 | ID2
- 2 | 1
- 。 | .
- 。 | .
- 。 | .
所以,我尝试写一个 SQL 查询来显示这样的名字:
姓名1 |姓名 2
- 是 | X
- 。 | .
- 。 | .
- 。 | .
我试过了 SQL:
SELECT tbl1.name, tbl1.name FROM tbl2
INNER JOIN tbl1 ON tbl2.id_tbl1 = tbl1.id
INNER JOIN tbl1 AS t1 ON tbl2.id_tbl1 = t1.id;
但它不起作用。 有人可以给我 SQL 查询我的问题吗?
两个联接是正确的方法。但是你需要参考别名:
SELECT t1_1.name, t1_2.name
FROM tbl2 t2 JOIN
tbl1 t1_1
ON t2.id_tbl1 = t1_1.id JOIN
tbl1 t1_2
ON t2.id_tbl1 = t1_2.id;