【问题标题】:Creating multiple joins accessing the same table创建访问同一个表的多个连接
【发布时间】:2013-11-01 01:33:23
【问题描述】:

我需要一种从同一个表中提取两个用户名的方法。我可以提取名字 (jim),但无法从第二个条件/加入中提取。

两张表:

tbl_users
usr_index |  usr_name
1         |  bob
2         |  mike
3         |  jim


tbl_master
mas_openedby  |  mas_closedby
    3         |        1
    1         |        3
    2         |        2

tbl_master.mas_openedby = 3
tbl_master.mas_closedby = 2

第一个结果应该是(打开者):jim 秒。结果应该是(关闭):迈克

select tbl.users.usr_name
...
FROM tbl_master

LEFT JOIN tbl_users ON tbl_users.usr_index = tbl_master.mas_openedby

LEFT JOIN tbl_users ON tbl_users.usr_index = tbl_master.mas_closedby

【问题讨论】:

  • 你能说得更具体一点,但是我遇到了麻烦...`??可能只是一个别名问题。除此之外,您的联接看起来还不错。

标签: mysql sql join


【解决方案1】:

您需要为每个连接分配一个唯一的别名:

LEFT JOIN tbl_users AS userjoin1 ON userjoin1.usr_index = tbl_master.mas_openedby

LEFT JOIN tbl_users AS userjoin2 ON userjoin2.usr_index = tbl_master.mas_closedby

...然后:

SELECT userjoin1.usr_name, userjoin2.usr_name FROM...

【讨论】:

    猜你喜欢
    • 2020-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多