首页  >  文章  >  数据库  >  如何在不同列上两次连接表以显示用户名而不是用户 ID?

如何在不同列上两次连接表以显示用户名而不是用户 ID?

Linda Hamilton
Linda Hamilton原创
2024-10-24 18:21:02368浏览

How to Join a Table Twice on Different Columns to Display Usernames Instead of User IDs?

在不同列上两次加入同一个表

问题:

用户和投诉建立表,用户可以在其中提出和解决投诉。投诉表包含投诉人和解决者的user_id。目标是编写一个查询,显示双方的用户名而不是 user_ids。

答案:

在不同列上两次连接用户表并检索用户名,可以使用以下查询:

SELECT 
     complaint.complaint_text, 
     A.username AS OpenedBy, 
     B.username AS ClosedBy
FROM 
     complaint 
     LEFT JOIN user A ON A.user_id=complaint.opened_by 
     LEFT JOIN user B ON B.user_id=complaint.closed_by

在此查询中:

  • LEFT JOIN 子句用于将投诉表与用户表连接两次。
  • 别名 A 用于第一次连接,引用投诉人的用户名。
  • 别名 B 用于第二次连接,引用投诉解决者的用户名。
  • 用户表根据opened_by和close_by列连接到投诉表,检索相关用户名。

以上是如何在不同列上两次连接表以显示用户名而不是用户 ID?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn