显示某些信息时出现问题。我的老师让我更改了我的数据库,这对我的应用程序产生了很大的影响。
我在MySql中有一个表,其中包含“user_id”,“lastname”和“recruiter_id”列。 recruiter_id对应于招募者的user_id。 例如:
user_id lastname recruiter_id
1 DO NULL
2 SMITH 1
3 ROBERT 1
在MySql中,我想显示招聘人员的姓名。 例如,对于user_id = 3,我想显示名称“DO”,因为“robert”的recruiter_id是1,而1对应于“DO”的user_id。
在我的老师问我之前,我有两张不同的桌子,而且更容易。现在我不知道该怎么办。我该如何做到这一点?
答案 0 :(得分:1)
这需要self-join:
SELECT a.lastname AS name, b.last_name as recuirter_name
FROM users a
LEFT JOIN users b ON a.recruiter_id = b.user_id
答案 1 :(得分:1)
您可以使用左连接轻松完成此操作:
select u.*,
r.lastname as recruiter_name
from your_table u
left join your_table r on u.recruiter_id = r.user_id;