locked
HELP ME!!! :) RRS feed

  • 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

    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

    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
  • Naomi gave you a query. She did not modify your existing query, since she don't know how it looks like. Or even knew about it at the time for her post.

    Wednesday, September 28, 2016 12:52 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 articles

    Wednesday, 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