我有一个包含许多 ID 的表,其中有两个潜在的“类型”以及与每个 ID 和“类型”相关联的许多日期。我想选择 ID、“类型”A 的最新日期和大于类型 A 的“类型”B 的最接近日期。
Sample Table
ID Type Date
1 A 1/5/2013
1 A 1/10/2013
1 B 1/1/2013
2 A 2/10/2013
2 A 2/9/2013
2 B 2/15/2013
2 B 2/20/2013
3 A 3/15/2013
3 B 3/10/2013
3 B 3/20/2013
期望的结果
ID Date A Date B
2 2/10/2013 2/15/2013
3 3/15/2013 3/20/2013
ID 1 被忽略,因为它不满足条件 B > Max(typeA) {1/10/13} ID 2 等于 max(typeA) {2/10/13 vs 2/9/13} 和 Date B {2 /15/13} 大于日期 A 和满足该条件的两个日期中最接近的日期。ID 3 仅等于大于日期 A 的 A 条目和最接近的 B 条目 {3/20/13}
我尝试了几次最小、最大和行/分区迭代,但结果留下了几个符合条件的条目。使用 Sql Server 2008 V 10。任何帮助将不胜感激