【发布时间】:2020-02-06 20:26:02
【问题描述】:
感谢我之前在本网站上收到的意见,我使用以下代码总结了我们的员工在特定市场中拥有多少个月的经验。
但问题是最终结果显示了所有员工的汇总数据,即使他们不再为我们公司工作。我真正想要的是相同的输出,但仅限于那些仍然在最年轻日期(SNAPSHOT_DATE)的员工。
我设法找到了一个每月手动更新快照的解决方案,但我宁愿选择一个自动化的解决方案,让代码本身决定最年轻的快照是什么。
非常感谢您的支持:)
SELECT EMPLOYEE_ID,
ISNULL([Developing & Emerging],0) AS [Experience - D&E],
ISNULL([Developed],0) AS [Experience - D]
FROM
(
SELECT EMPLOYEE_ID,MARKET_TYPE_DESC,COUNT(SNAPSHOT_DATE) T
FROM [db_name].[AGL_V_HRA_FE_R].[VW_HRA_EMPLOYEE_DETAIL]
WHERE ALLC_SER_NUM = '1'
GROUP BY EMPLOYEE_ID,MARKET_TYPE_DESC
)P
PIVOT(
SUM(T)
FOR MARKET_TYPE_DESC IN ([Developing & Emerging],[Developed])
)PVT
【问题讨论】:
标签: sql sql-server