在仅开始日期记录列表中查找历史状态

时间:2015-12-16 03:12:44

标签: sql sql-server

我有一个SQL表,其中列出了项目的状态更改

StatusHistory

RecordID  |  StartDate   |  Status
-----------------------------------
1         |  1983-01-01  |  A
2         |  2008-03-18  |  B
3         |  2009-11-10  |  C
4         |  2015-01-12  |  D

正如您所看到的,记录只是开始日期并且没有有效的结束日期。

如果给定输入日期,使用SQL如何返回该特定日期当前的状态?

例如

对于2008-03-17,状态将为A或2012-10-20状态为C

我确定这是一个简单的脚本,但感谢任何帮助!

欢呼声

1 个答案:

答案 0 :(得分:2)

使用TOP

SELECT TOP 1 Status
FROM records
WHERE
    StartDate <= @inputDate
ORDER BY StartDate DESC