Answered by:
HELP ME!!! :)

Question
-
Dear colleagues can somebody help me?
I need to determine the agreement status which to certain date.
for example:
+----+---------------------+--------+--------+
| ID | date | status | |
+----+---------------------+--------+--------+
| 10 | 2016-06-24 00:00:00 | 4 | |
| 10 | 2016-06-27 00:00:00 | 5 | |
| 10 | 2016-06-30 00:00:00 | 7 | needed |
| 8 | 2016-06-03 00:00:00 | 3 | |
| 8 | 2016-06-27 00:00:00 | 6 | |
| 8 | 2016-06-29 00:00:00 | 9 | needed |
+----+---------------------+--------+--------+
needed to determine which status to be on (2016-06-30 00:00:00)
+----+--------+
| ID | status |
+----+--------+
| 10 | 7 |
| 8 | 9 |
+----+--------+I`m sorry for my english! :)
- Edited by ArtemFY Wednesday, September 28, 2016 12:25 PM
Wednesday, September 28, 2016 12:11 PM
Answers
-
;with cte as (select *, row_number() over (partition by AgreementId order by [Date] DESC) as Rn
from dbo.Agreements where [date] <=@DateParameter)
select [AgreementId], [Status] from cte where Rn = 1 -- latest status for the passed date parameter
For every expert, there is an equal and opposite expert. - Becker's Law
My blog
My TechNet articles- Proposed as answer by Uri DimantMVP, Editor Wednesday, September 28, 2016 12:22 PM
- Marked as answer by Sam ZhaMicrosoft contingent staff Thursday, October 6, 2016 8:17 AM
Wednesday, September 28, 2016 12:21 PM
All replies
-
Please post table scripts, sample data and expected output. See http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ for guidance.Wednesday, September 28, 2016 12:15 PM
-
;with cte as (select *, row_number() over (partition by AgreementId order by [Date] DESC) as Rn
from dbo.Agreements where [date] <=@DateParameter)
select [AgreementId], [Status] from cte where Rn = 1 -- latest status for the passed date parameter
For every expert, there is an equal and opposite expert. - Becker's Law
My blog
My TechNet articles- Proposed as answer by Uri DimantMVP, Editor Wednesday, September 28, 2016 12:22 PM
- Marked as answer by Sam ZhaMicrosoft contingent staff Thursday, October 6, 2016 8:17 AM
Wednesday, September 28, 2016 12:21 PM -
Thank you for answer. This was helpful, but i need to do this as query, because i wanna add it to my earlier query.Wednesday, September 28, 2016 12:45 PM
-
-
So, can you provide more context? You can easily incorporate the above into existing query, show your current query and tell us what exactly do you want to achieve.
For every expert, there is an equal and opposite expert. - Becker's Law
My blog
My TechNet articlesWednesday, September 28, 2016 12:54 PM -
I`m sorry, i`m mistaked.
Many thank you for your support.
Wednesday, September 28, 2016 2:50 PM