mysql:用同一个字段左键连接同一个表两次

hrysbysz  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(427)

这个问题在这里已经有答案了

mysql:如何在同一个查询上连接两个表,两次引用同一个表(3个答案)
两年前关门了。
我有一个存储管理员和普通客户的用户表:

ID  Name    Role
1   John    Admin
2   Sara    User
3   Pete    User
4   Nick    User

另一个存储请求的表:

ID  Updatedby    Createdby DateCreated  DateUpdated
1   1              2        10/12/2017   21/01/2018
2   1              1        11/12/2017   22/01/2018
3   1              3        12/12/2017   23/01/2018
4   2              2        13/12/2017   24/01/2018

我正在尝试创建一个如下所示的视图:

ID  Updatedby    Createdby DateCreated  DateUpdated
1   John           Sara     10/12/2017   21/01/2018
2   John           John     11/12/2017   22/01/2018
3   John           Pete     12/12/2017   23/01/2018
4   Sara           Sara     13/12/2017   24/01/2018

创建查询时面临的问题是,我尝试两次左连接到user表。如何指定users.name是用于updatedby还是createdby?这就是我的意思:

SELECT
   request.ID,
   users.Name, /*name for Createdby */
   users.Name, /*name for Updatedby */
   requests.DateCreated,
   requests.DateUpdated
FROM
   requests
LEFT JOIN
   users ON requests.Updatedby = users.ID

我无法理解这个逻辑。

whhtz7ly

whhtz7ly1#

这是一个例子:

SELECT toD.dom_url AS ToURL, 
    fromD.dom_url AS FromUrl, 
    rvw.*

FROM reviews AS rvw

LEFT JOIN domain AS toD 
    ON toD.Dom_ID = rvw.rev_dom_for

LEFT JOIN domain AS fromD 
    ON fromD.Dom_ID = rvw.rev_dom_from

可以使用别名

相关问题