【发布时间】:2015-03-18 21:00:44
【问题描述】:
我需要一个仅显示在多个州获得报酬的员工的查询。
查询将拉取三列:
- 员工 ID
- 工作地点
- 最后付款日期
我目前的失败尝试:
Select EmployeeID
, WorkLocation
, max(LastPayDate)
from Table
group by EmployeeID, WorkLocation
having COUNT(distinct WorkLocation) > 1
此查询提取零记录。但是,我知道有些员工曾在多个州工作过。我不确定我的逻辑在哪里崩溃。
非常感谢任何指导。
【问题讨论】:
-
发布的查询应该返回 0 而不是全部
-
having COUNT(distinct EmployeeID) > 1应该返回 0 行而不是所有行,因为每一行都按EmployeeID WorkLocation分组,并且只有一个值。 -
你能评论编辑过的帖子@MartinSmith吗?
标签: sql sql-server count distinct self-join