对于标题不够清晰的问题我感到抱歉。请问,是否可以通过数据库请求来实现?假设我们有以下表格:
ind_id name value date
----------- -------------------- ----------- ----------
1 a 10 2010-01-01
1 a 20 2010-01-02
1 a 30 2010-01-03
2 b 10 2010-01-01
2 b 20 2010-01-02
2 b 30 2010-01-03
2 b 40 2010-01-04
3 c 10 2010-01-01
3 c 20 2010-01-02
3 c 30 2010-01-03
3 c 40 2010-01-04
3 c 50 2010-01-05
4 d 10 2010-01-05
我需要查询所有行以包含给定日期中的每个
ind_id
一次,如果没有给定日期的ind_id
,则取最近较低的日期,如果没有任何较低的日期,则返回带有空值的ind_id+name
(名称/ind_id对相等)。
例如,日期是2010-01-04,我期望以下结果:ind_id name value date
----------- -------------------- ----------- ----------
1 a 30 2010-01-03
2 b 40 2010-01-04
3 c 40 2010-01-04
4 d NULL NULL
如果可能的话,我将非常感激有人帮助我构建查询。我正在使用SQL Server 2008。