我有两个表用户和 *activation_details*
用户表有这些数据。uid 是主键。
uid | user_name
______________________
1 | John Smith
2 | Mary Smith
3 | Nancy Smith
4 | Agent Smith
activation_details 有这些数据
aid | is_activated | user_id
______________________________________
1 | 0 | 0
2 | 1 | 4
3 | 1 | 1
4 | 1 | 777
请注意,用户 id 777 不在 users 表中。
我需要这种格式的结果
aid | is_activated | user_name
______________________________________________
1 | 0 | 0
2 | 1 | Agent Smith
3 | 1 | John Smith
4 | 1 | 777
如果用户 id 存在于 users 表中,则必须显示用户名,否则必须显示 user_id 本身。
我试过这样的事情
SELECT aid, is_activated, user_id, users.user_name from activation_details, users WHERE users.uid = user_id
它给出了这个输出,这是没有用的。
aid | is_activated | user_name | user_id
________________________________________________________
2 | 1 | Agent Smith | 4
3 | 1 | John Smith | 1
无论如何只能使用mysql来获得这个输出,我可以用PHP中的多个查询来做到这一点,但这不是我想要的。
aid | is_activated | user_name
______________________________________
1 | 0 | 0
2 | 1 | Agent Smith
3 | 1 | John Smith
4 | 1 | 777