在下面的查询,我试图计算逻辑计算的变更记录数列中的值
谁从活动改变了FTE状态设置为无效或反之亦然
不同的员工人数
'2015年1月1日' 和终止> ='2015年1月1日 '2015年6月30日'和
日期间
报告一个月中日期'或终止日期为空
和
区域为NAM。
我得到770分的记录,但它应该是606.I'm不知道如果我的查询逻辑是correct.Thanks在前进!
SELECT A.[First Name]
,A.[Last Name]
FROM (
(
SELECT [First Name]
,[Last Name]
,[Report Month]
,[Region]
,[Date of FTE Termination]
FROM dbo.Data
WHERE (
[Report Month] BETWEEN '2015-01-01'
AND '2015-06-30'
AND (
[FTE Status] = 'Inactive'
OR [FTE Status] = 'Active'
)
AND (
[Date of FTE Termination] >= '2015-01-01'
OR [Date of FTE Termination] IS NULL
)
AND [Region] = 'NAM'
)
) A INNER JOIN (
SELECT [First Name]
,[Last Name]
,[Report Month]
,[Bill To Code]
,[Region]
,[Date of FTE Termination]
FROM dbo.Data
WHERE (
[Report Month] BETWEEN '2015-01-01'
AND '2015-06-30'
AND (
[FTE Status] = 'Active'
OR [FTE Status] = 'Inactive'
)
AND (
[Date of FTE Termination] >= '2015-01-01'
OR [Date of FTE Termination] IS NULL
)
AND [Region] = 'NAM'
)
) B ON A.[First Name] = B.[First Name]
AND A.[Last Name] = B.[Last Name]
)
GROUP BY A.[First Name]
,A.[Last Name]
ORDER BY A.[First Name] ASC
首先,你需要告诉我们为什么你觉得你应该得到606条记录。如果您获得的记录超出您认为应该得到的数量,请检查单个表格中的加入密钥,您可能在此处有重复记录。 – Sagar
它在Excel中测试过,发现有606条记录,它们都是同一个表。它是一个带有不同条件的内联查询。如何在此查询中排除重复项? –