【问题标题】:duplicating results between 2 dates在 2 个日期之间重复结果
【发布时间】:2013-02-25 12:10:25
【问题描述】:

我有一个事务表,每次客户更改状态时都会添加一条记录,我正在尝试在 SQL 2008 Management Studio 中的 t-sql 中编写一个过程,该过程将查找客户对每个状态的最后状态我能做的那一天。

我遇到的问题是填写状态没有变化的每一天的最后一个状态。这是我尝试填写的数据示例。我需要 AB 作为状态两个状态日期之间的每个日期。

Customer Number Status  Status Date
XXXXXX123       AB          2/15/2013


XXXXXX123       AC          2/24/2013

【问题讨论】:

    标签: sql-server-2008 tsql


    【解决方案1】:

    类似

    Select status from (select * from table where date < enddate order by date desc limit 1)

    这将在表格中找到最近日期仍低于结束日期的行,然后您可以获取其状态。

    【讨论】:

    • 谢谢。是的,这会起作用,但我正在尝试用 2013 年 2 月 15 日的最后状态填充状态日期之间的日期。所以 AB 将是日期 2/16-2/23 的状态,即使我的状态没有变化。我需要这个,所以我可以计算任何日期有多少条记录处于什么状态。
    • @MarcusWilliams 那么对于该日期没有状态更改的每个日期,将这种查询作为update 语句进行吗?
    猜你喜欢
    • 2016-05-22
    • 1970-01-01
    • 1970-01-01
    • 2019-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-16
    • 2011-04-26
    相关资源
    最近更新 更多