sql - 对于每位员工,他们被推荐了多少次酌情加薪?
问题描述
我有两张表,一张称为 tblPerformanceReview,一张称为 tblEmployee。我试图弄清楚每个员工被推荐了多少次酌情加薪。tblPerformanceReview 有一个名为 Discretionary 的列,它可以让您知道该员工是否被推荐不加薪。如果他们被推荐,就会有 1,如果没有,就会有 0。我试图找到一种方法来计算每个员工被推荐加薪的次数。我希望它显示员工的名字以及他们被推荐加薪的次数。两个表都通过冷 IDEmployee 字段连接。
给我一个错误的示例代码
SELECT tblEmployee.FirstName,COUNT(tblPerformanceReview.Discretionary)
FROM tblPerformanceReview,tblEmployee INNER JOIN
tblEmployee
ON tblPerformance.IDEmployee=tblEmployee.IDEmployee WHERE Discretionary='1'
group by IDEmployee;
解决方案
我假设这tblPerformance
确实应该tblPerformanceReview
在您的查询中。
我相信你想要:
SELECT e.IDEmployee, e.FirstName,
COUNT(pr.Discretionary)
FROM tblEmployee e LEFT JOIN
tblPerformanceReview pr
ON pr.IDEmployee = e.IDEmployee AND
pr.Discretionary = 1
GROUP BY e.IDEmployee, e.FirstName;
笔记:
- 对查询使用表别名更容易读写。
- 这使用一个
LEFT JOIN
. 您的问题意味着您想要所有员工,而不仅仅是那些至少有一次酌情加薪的员工。 '1'
看起来像一个数字,所以我去掉了引号。如果该列确实包含一个字符串,则保留该字符串。- 员工可以有相同的名字,所以我在和
idEmployee
中都包含了。SELECT
GROUP BY
推荐阅读
- css - 无法从 React App 中的 css 文件访问我的公共文件夹
- python - Selenium 认为它已经点击但它没有
- javascript - 如果变量存在则接收逻辑值
- python - 在 Pandas 中将表示时间段的整数转换为时间
- reactjs - 滚动到 FlatList 中的某个项目 - 不知道确切的宽度
- amazon-web-services - AWS-CDK:有什么方法可以通过输入参数传递 vpc cidr?
- arrays - 在二维数组的范围之外写入
- python - 仅保留数据框中具有最新日期的行
- php - PHP DataStructures 按属性查找对象
- javascript - React:如何在悬停父组件时触发更改子组件内部样式的功能