首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于每一名员工,他们被推荐了多少次自由决定加薪?

对于每一名员工,他们被推荐了多少次自由决定加薪?
EN

Stack Overflow用户
提问于 2020-03-02 00:51:20
回答 3查看 31关注 0票数 0

我有两个桌子,一个叫tblPerformanceReview,另一个叫tblEmployee。我正在努力弄清楚每个员工被推荐多少次酌情加薪。tblPerformanceReview有一个名为酌处的专栏,它让你知道是否推荐员工加薪。如果他们被推荐,就会有一个1,如果不是,就会有一个0。我正在设法计算每名员工被推荐加薪的次数。我希望它能显示员工的名字和被推荐加薪的次数。两个表都通过字段冷IDEmployee连接。

给出错误的示例代码

代码语言:javascript
复制
    SELECT tblEmployee.FirstName,COUNT(tblPerformanceReview.Discretionary) 
FROM tblPerformanceReview,tblEmployee INNER JOIN 
tblEmployee 
ON tblPerformance.IDEmployee=tblEmployee.IDEmployee WHERE Discretionary='1' 
group by IDEmployee;
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-03-02 01:25:57

我假设tblPerformance在您的查询中确实应该是tblPerformanceReview

我相信你想:

代码语言:javascript
复制
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'看起来像一个数字,所以我放弃了引用。如果列确实包含一个字符串,则保留string.
  • Employees可以具有相同的名称,因此我在SELECTGROUP BY.

中都包含了idEmployee

票数 2
EN

Stack Overflow用户

发布于 2020-03-02 01:01:56

这样做吧:

代码语言:javascript
复制
    SELECT tblEmployee.FirstName,COUNT(*) 
FROM tblPerformanceReview INNER JOIN 
tblEmployee 
ON tblPerformance.IDEmployee=tblEmployee.IDEmployee WHERE Discretionary='1' 
group by tblEmployee.FirstName;
票数 1
EN

Stack Overflow用户

发布于 2020-03-02 01:14:43

尝试从"FROM tblPerformanceReview,tblEmployee INNER“语句中移除",tblEmployee”部分。查询的其余部分看起来是正确的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60481222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档