Мне нужна помощь с запросом SQL для SQL Server 2005. Вот пример данных в таблице для запроса:
Id PersonId PayrollNum ContractId PayrollFrom PayrollTo
---------------------------------------------------------------------------
1 432642 85110892 1 01/05/2009 31/05/2009
2 432642 85110892 1 01/06/2009 30/06/2009
3 432642 85110892 1 01/07/2009 31/07/2009
4 432642 85110892 2 01/05/2009 31/05/2009
5 432642 85110892 2 01/06/2009 30/06/2009
6 432642 85110892 2 01/07/2009 31/07/2009
7 432642 85110892 2 01/08/2009 31/08/2009
8 432642 35110892 1 01/06/2009 30/06/2009
9 432642 35110892 1 01/05/2009 31/05/2009
10 432642 35110892 1 01/07/2009 31/07/2009
(Надеюсь, все будет хорошо отформатировано - с этой штукой трудно работать с таблицами!)
Мне нужен следующий вывод:
Id
--
1
4
9
Объяснение: в основном мне нужны уникальные значения Id для записей, которые отличаются на PersonId
, PayrollNum
и ContractId
, а также являются наименьшей датой PayrollFrom
для каждой группировки. Я не уверен, как это лучше объяснить? Надеемся, что вы можете посмотреть на вывод, чтобы помочь понять требования запроса.
Дайте мне знать, если мне нужно объяснить это лучше (или если вы думаете, что понимаете это и можете объяснить это лучше, сделайте это).
Спасибо за вашу помощь,
Джеймс.