Mysql 使用deferend名称获取两次结果
我有一个名为opentask的任务表:列:id、title、description、expires、creator\u id、creator\u name、executer\u id、executer\u name、priority\u id、status\u id1用户名为user的表: 带列:用户id、用户名 我想创建一个查询,其中将有来自opentask表的所有列,其中executer_id将等于user表的user_id,creator_id将再次等于user_id。这造成了混乱,因为第一个等式排除了第二个等式。所以我需要创建一个查询,其中我将包含执行器的用户名,类似于where opentask.executer\u id=user\u user\u id,同时我将再次包含用户名作为不同的名称?对于像where opentask.executer\u id=user\u user\u idSo这样的创建者,我尝试一下这个,当然我知道它缺少一些东西,你能帮忙吗 选择不同的id、标题、描述、过期日期、创建者id、执行者id、oc_opentask.priority_id、oc_opentask.status_id、priority_名称、status_名称、user_id、username,从oc_opentask中选择用户名,从oc_opentask中选择用户名,其中oc_opentask。创建者id=oc_user.user_id作为用户名,从oc_opentask中选择用户名,从oc_opentask中选择用户名,从oc_opentask中选择用户名,oc_opentask_状态,其中oc_opentask.priority_id=oc_opentask_priority.priority_id和oc_opentask.executer_id=oc_user.user_id和oc_opentask.status_id=oc_opentask_status.status_id按oc_opentask.expires DESC排序 使用不同的别名重新连接表oc_user两次创建者和执行者,如下所示:Mysql 使用deferend名称获取两次结果,mysql,select,double,rename,Mysql,Select,Double,Rename,我有一个名为opentask的任务表:列:id、title、description、expires、creator\u id、creator\u name、executer\u id、executer\u name、priority\u id、status\u id1用户名为user的表: 带列:用户id、用户名 我想创建一个查询,其中将有来自opentask表的所有列,其中executer_id将等于user表的user_id,creator_id将再次等于user_id。这造成了混乱,因为第
从…起像加入。。。像非常感谢您准确快速的回答。
SELECT DISTINCT
t.*,
creators.user_name 'Creator name',
executers.username 'Executor name',
tp.priority_name,
s.status_name
FROM oc_opentask t
INNER JOIN oc_opentask_priority tp ON t.priority_id = tp.priority_id
INNER JOIN oc_user executers ON t.executer_id = executes.user_id
INNER JOIN oc_user creators ON t.creator_id = creators.user_id
INNER JOIN oc_opentask_status s ON t.status_id = s.status_id
ORDER BY t.expires DESC