Mysql 使用内部联接从表中获取多个详细信息-抛出非唯一别名错误

Mysql 使用内部联接从表中获取多个详细信息-抛出非唯一别名错误,mysql,sql,Mysql,Sql,我试图获取竞争中所有涉众的详细信息,我试图将用户表连接到多个表,其中用户表的主键充当其他表中的外键。这是我的表格结构 当我使用内部联接运行查询时,抛出的错误不是唯一的别名,如果我更改别名,我不希望有不同的列作为涉众的名称 用户- Id - PK qrencia_id - varchar user_email - varchar password - varchar role - Enum (Candidate, Judge, Expert) 比赛 id - PK name - varchar

我试图获取竞争中所有涉众的详细信息,我试图将用户表连接到多个表,其中用户表的主键充当其他表中的外键。这是我的表格结构

当我使用内部联接运行查询时,抛出的错误不是唯一的别名,如果我更改别名,我不希望有不同的列作为涉众的名称

用户-

Id - PK 
qrencia_id - varchar
user_email - varchar
password - varchar
role - Enum (Candidate, Judge, Expert)
比赛

id - PK
name - varchar
created By - FK (PK of users table)
技巧

id - PK
skill_name - varchar 
cs_ip_映射

id - PK
competition_id - FK (PK of competitions table)
skill_id - FK (skill table PK)
user_id - FK (user table PK)
cs_ip_专家_映射

id - PK
cs_ip_id - FK (PK of cs_ip_mapping table)
user_expert_id - FK (PK User Table)
cs_ip_判断_映射

id - PK
cs_ip_id - FK (PK of cs_ip_mapping table)
user_judge_id - FK (PK User Table)
cs_ip_候选_映射

id - PK
cs_ip_id - FK (PK of cs_ip_mapping table)
user_candidate_id - FK (PK User Table)
这是我的疑问:

select users.name as name, 
       users.qrencia_id as qrenciaId, 
       c.competition_name as competitionName,
       s.skill as skillName
from competitions as c 
inner join competition_skills_implementation_partner as csip on c.id=csip.competition_id 
inner join skills as s on csip.skills_id=s.id 
inner join users on csip.user_ip_id=users.id 
inner join cs_ip_expert_mapping as expert on csip.id = expert.cs_ip_id 
inner join users as expertUser on expert.user_expert_id=expertUser.id 
inner join cs_ip_judge_mapping as judge on csip.id = judge.cs_id_fk 
inner join users on judge.user_judge_id=users.id 
inner join cs_ip_candidate_mapping as candidate on csip.id=candidate.cs_ip_id
inner join users on users.id=candidate.user_candidate_id
where csip.id=53;

结果应该是-当我选择技能和竞争时,所有利益相关者的列表都应该可见

您从这个查询中得到的结果是什么?这行是否正确-
内部连接cs\u ip\u judge\u映射为csip.id=judge.cs\u id\u fk上的judge。如果“
cs\u id\u fk
”是“
cs\u ip\u id
”,您是否也可以发布完整的错误消息?ThanksIt不太清楚你想要实现什么。要么您只需要一个用户,在这种情况下需要删除三个联接,要么您希望所有四个用户名都在同一行中,在这种情况下(个人而言),我将执行四个子查询。