我对此问题有一个后续问题。SQL服务器根据字段中的值每天选择一条记录
SQL Server Get values of top three records and display in one row per person
ID Name Date1 Value2 Date2 Value2 Date3 Value3 Date4 Value4 Date5 Value5 Date6 Value6 Date7 Value7
12 John Smith 2011-06-27 14:06:10.517 None 2011-06-27 00:17:53.987 None 2011-06-26 21:56:07.577 Medium 2011-06-26 13:32:31.190 None 2011-06-26 02:47:54.357 None 2011-06-25 19:32:00.000 Medium 2011-06-25 13:43:22.000 Medium
12 Jack Smith 2011-06-27 05:54:59.320 None 2011-06-26 06:28:55.033 None 2011-06-25 16:25:00.000 Medium 2011-06-25 14:27:11.017 Large 2011-06-25 06:11:45.793 Large 2011-06-24 19:33:24.520 Medium 2011-06-24 06:17:35.887 None
我需要每天一个值。如果有一个不等于'无'的值,我需要该记录给定的日期。
这里的结果应该是什么样子:
ID Name Date1 Value2 Date2 Value2 Date3 Value3 Date4 Value4 Date5 Value5 Date6 Value6 Date7 Value7
12 John Smith 2011-06-27 00:17:53.987 None 2011-06-26 21:56:07.577 Medium 2011-06-25 13:43:22.000 Medium
12 Jack Smith 2011-06-27 05:54:59.320 None 2011-06-26 06:28:55.033 None 2011-06-25 06:11:45.793 Large 2011-06-24 19:33:24.520 Medium
我的原始数据的格式如下: (记录我需要标有*)
ID Name Date Value
12 JACK Smith 2011-06-27 05:54:59.320 None *
12 JACK Smith 2011-06-26 06:28:55.033 None *
12 JACK Smith 2011-06-25 16:25:00.000 Medium
12 JACK Smith 2011-06-25 14:27:11.017 Large
12 JACK Smith 2011-06-25 06:11:45.793 Large *
12 JACK Smith 2011-06-24 19:33:24.520 Medium *
12 JACK Smith 2011-06-24 06:17:35.887 None
12 JACK Smith 2011-06-23 00:30:28.363 None *
12 JACK Smith 2011-06-22 00:47:41.800 None *
12 JACK Smith 2011-06-21 06:03:55.000 None *
任何帮助是极大的赞赏。
试图理解你的问题......你可以(手动)将样本记录集放到一起,看看结果应该是什么样子,根据你迄今为止提供的内容。 – Chains
这甚至可能吗? – Claudia
是的 - 请参阅下面的我的(新)答案。这是一个非常简单的解决方案,但有很多代码来操纵日期。我添加了很多评论,以防它有帮助。 – Chains