mysql - 如何在 sql 查询中按要求修复组?
问题描述
我有一个 SQL 查询:
SELECT A.Emp_ID, A.Emp_Name
FROM Employee A
INNER JOIN Assignment B on A.Emp_ID = B.Emp_ID
WHERE B.Emp_ID
HAVING COUNT(*) > 1;
哪个返回了错误:
SQLException:您的 SQL 语法有错误;
检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“group by Emp_ID”附近使用正确的语法
我查了一下,发现这里有一篇文章谈到了它,以及该怎么做。
我把它改成这样:
SELECT A.Emp_ID, A.Emp_Name
FROM Employee A
INNER JOIN Assignment B ON A.Emp_ID = B.Emp_ID
WHERE B.Emp_ID
HAVING COUNT(*) > 1
GROUP BY Emp_ID;
对我来说,它看起来与它应该的完全一样,所以我很困惑为什么它不起作用。有人可以帮我解决这个问题吗?
谢谢你。
解决方案
大概你想要:
SELECT e.Emp_ID, e.Emp_Name
FROM Employee e INNER JOIN
Assignment a
ON e.Emp_ID = a.Emp_ID
GROUP BY e.Emp_ID, e.Emp_Name
HAVING COUNT(*) > 1;
笔记:
- 该
WHERE
条款是无用的。 - 你需要一个
GROUP BY
. - 使用有意义的表别名而不是任意字母。
推荐阅读
- flutter - 当在文本字段中输入字段中的数据时,Flutter Firestore 显示文档 ID
- css - 如何使 2 个 div 元素在 CSS 中水平和垂直居中?
- excel - 在多个工作表中搜索字符串
- java - Java API - 自定义方法检查器上的空警告
- javascript - 如何删除 indexedDB 中的对象存储?
- c# - 如何使用 Selenium 查找“检查”中存在但页面源中不存在的元素?C#
- python - 通过 Google Colab 保存的图像不会出现在 Google 云端硬盘中
- c++ - 在返回有符号类型的函数的返回语句中减去无符号值
- .htaccess - 将文件夹重定向到子文件夹
- html - Twig - 检查数组中是否有任何数字大于 0.00