如何通过两次关联USERS表,获取BOOKS表中作者与修改者的用户名?
解决方案
要同时获取作者和修改者的用户名,你需要两次关联USERS表,并通过表别名区分不同的关联场景(分别对应作者和修改者的匹配逻辑)。
正确的查询语句
SELECT books.id, u1.name AS author_name, u2.name AS modifier_name FROM books INNER JOIN users u1 ON books.user_id = u1.id INNER JOIN users u2 ON books.modified_by = u2.id;
语句说明
- 给第一次关联的USERS表起别名
u1,匹配books.user_id(作者ID),获取作者名称; - 给第二次关联的USERS表起别名
u2,匹配books.modified_by(修改者ID),获取修改者名称; - 执行后会得到你期望的结果:
(1, person2, person2), (2, person2, person2), (3, person2, person2), (4, person1, person2);
内容的提问来源于stack exchange,提问作者Akram
相关产品推荐
相关产品推荐

