同一个表中有两个id的查询内部连接

x4shl7ld  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(379)

我在同一个表中保存了2个id,然后我做了一个内部操作来获取名称,但是我只能获取一个名称。我怎么知道这两个名字
表1

------------------------
|id|name       |xxx     | 
|--|-----------|--------|  
|1 |name1      |xxx1    | 
|2 |name2      |xxx2    | 
|3 |name3      |xxx3    |
|  |           |        | 
|--|-----------|--------|

表2

--------------------------------------
|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            |
|--|-----------|--------|-------------|

我该怎么做?

wlsrxk51

wlsrxk511#

加入这张table两次。这是别名的作用之一;使用别名可以区分同一表的两个示例:

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

相关问题