我什至不知道如何搜索它,所以我决定在这里问。我的MySQL数据库中有两个表:
表: users
user_id | user_name | user_surname ---------+-----------+------------- 111 | Tom | Hanks 112 | Martin | Dubravka
113 | Gary | Muller 114 | Grzegorz | Kowalewski 115 | Chris | Anderson 116 | John | Smith
和
表: best_users
id | best_user_1 | best_user_2 | best_user_3 | best_user_4 | best_user_5 | best_user_6
-------+-------------+-------------+-------------+-------------+-------------+------------- 1 | 115 | 114 | 112 | 116 | 111 | 113
best_user_id 场的外键字段user_id的users表。
我想要实现的是获得(在一个查询中最好):
id | best_user_1 | user_name1 | user_surname1 | best_user_2 | user_name2 | user_surname2 | best_user_3 | ... -------+--------------+------------+---------------+-------------+------------+---------------+-------------+---- 1 | 115 | Chris | Anderson | 114 | Grzegorz | Kowalewski | 112 | ...
在纯SQL中的一个查询中是否可能?当然我可以best_users先获得,然后再user_name根据best_user_x领域获得。应该通过某种JOIN完成吗?
问候
中号
我希望你喜欢打字......你需要JOIN到users表6次,一次为每个best_user:
SELECT id, best_user_1, u1.user_name AS user_name1, u1.user_surname AS user_surname1, ... best_user_6, u6.user_name AS user_name6, u6.user_surname AS user_surname6 FROM best_users JOIN users u1 ON u1.user_id = best_users.best_user_1 ... JOIN users u6 ON u6.user_id = best_users.best_user_6
问题来源于stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。