我要在同一个表中保存2个id,然后做一个内部获取名称,但是我只能得到一个名称。我怎么得到两个名字
表1
------------------------
|id|name |xxx |
|--|-----------|--------|
|1 |name1 |xxx1 |
|2 |name2 |xxx2 |
|3 |name3 |xxx3 |
| | | |
|--|-----------|--------|
table2
--------------------------------------
|id|table1User |CLIENT |table1Worker |
|--|-----------|--------|-------------|
|5 |1 |xxx1 |2 |
|6 |1 |xxx2 |2 |
|7 |3 |xxx3 |3 |
|--|-----------|--------|-------------|
这是我的查询
SELECT a.id, p.name, p.CLIENT, p.table1Worker
FROM table2 as a INNER JOIN table1 as p ON p.id = a.table1User
通过此查询,我得到此结果,但我想在table1Worker
中显示名称
--------------------------------------
|id|table1User |CLIENT |table1Worker |
|--|-----------|--------|-------------|
|5 |name1 |xxx1 |2 |
|6 |name1 |xxx2 |2 |
|7 |name3 |xxx3 |3 |
|--|-----------|--------|-------------|
我应该怎么做?
答案 0 :(得分:2)
加入表两次。这是别名的用途之一;别名可以让您区分同一张表的两个实例:
SELECT t2.id, t1user.name "table1User", t2.CLIENT, t1worder.name "table1Worker"
FROM table2 t2
INNER JOIN table1 t1user ON t1user.id = t2.table1User
INNER JOIN table1 t1worker ON t1worker.id = t2.table1Worker