У меня есть требование для запроса к SQL Server 2005, которое мне нужно написать, и это ставит меня в тупик, как его выполнить.
Я немного упросту это, но суть в том, что, если у клиента нет счетов-фактур, более поздних, чем определенная дата, мне нужно выбрать до 3 самых последних счетов-фактур этого клиента. Но если у них есть счета после этой даты отсечения, просто отобразите любой из этих счетов.
Итак, если моей датой отсечения является 1 января 2010 года, и у меня есть следующие данные:
ClaimID ClientID BillingDate
1 1 March 12, 2010
2 1 June 3, 2010
3 1 January 5, 2008
4 1 February 9, 2011
5 1 May 19, 2005
6 2 November 20, 2005
7 2 October 5, 2009
8 3 January 4, 1999
9 3 July 8, 1997
10 3 May 7, 2010
11 3 August 6, 1999
12 4 May 25, 2000
13 4 April 1, 2005
14 4 March 9, 2009
15 4 December 5, 2007
16 4 December 19, 1998
17 4 June 3, 2006
Тогда я хочу выбрать:
ClaimID ClientID BillingDate
1 1 March 12, 2010
2 1 June 3, 2010
4 1 February 9, 2011
6 2 November 20, 2005
7 2 October 5, 2009
10 3 May 7, 2010
14 4 March 9, 2009
15 4 December 5, 2007
17 4 June 3, 2006
У кого-нибудь есть идеи?
Спасибо