mysql 出现ambiguous错误

select ma.`majorName`, count(1) from `student` as stu
inner join `major` as ma 
on ma.`majorId` = stu.`majorId`
group by `majorId`;

出现:
Error Code: 1052. Column 'majorId' in field list is ambiguous
要如何解决,感谢!!

ambiguous表示字段不明确。关联查询的两个表中都有majorId,但group by majorId没有指定用哪个表中的majorId。使用 group by ma.mgajorId 或者 group by stu.majorId

  • 文章:MySQL逻辑运算符-逻辑非运算NOT与!的相似区别 中也许有你想要的答案,请看下吧
  • 除此之外, 这篇博客: mysql 连接查询中的 案列:找出那个部门没有员工 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • mysql> select d.* from emp e right join dept d on e.deptno =d.deptno where e.empno is null;
    +--------+------------+--------+
    | DEPTNO | DNAME      | LOC    |
    +--------+------------+--------+
    |     40 | OPERATIONS | BOSTON |
    +--------+------------+--------+
    1 row in set (0.00 sec)