В следующем запросе, я попытался вычислитьLogic рассчитать количество записей для изменения в значении столбца
числа различных сотрудников, которые изменили статус FTE из активных в неактивном или наоборот
между
датоймесяца Report '2015-01-01' и '2015-06-30'
и
датой прекращения> = '2015-01-01 'Или дата окончания является недействительным
и
область существо NAM.
Я получаю 770 записей, но должно быть 606. Я не уверен, правильно ли логика в моем запросе. Спасибо в Advance!
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 записей. Они оба являются одной и той же таблицей. Это встроенный запрос с различным условием. Как я исключаю дубликаты в этом запросе? –