我有两个表A和B,如下所示。我希望按项目进行合并,但仅限于退货日期在订单日期之后且退货日期与该项目的相应订单日期最接近的地方。结果表格如下C所示。你能帮我看看如何在SQL代码中实现这种合并吗?如何合并两个日期最近的两个表?
退货日期不必与订单日期在同一年,但它应该被分配到最近的订单日期,因为退货日期在订单日期之后。例如,对于第1项,9/15/2009的返回日期与第1项的三个订单日期中最接近8/14/2009,因此它被分配到2009年8月14日。对于第1项,2011年9月15日的返回日期是第1项的三个订单日期之后,但最接近于2011年8月16日,因此将其分配给2011年8月16日。
非常感谢!
表A:
Items Order_Date
1 8/14/2009
1 8/15/2010
1 8/16/2011
2 9/10/2009
2 9/8/2010
2 9/12/2011
表B:
Items Return_Date
1 9/15/2009
1 9/15/2011
2 10/15/2010
2 11/15/2011
决赛成绩表C:
Items Order_Date Return_Date
1 8/14/2009 9/15/2009
1 8/15/2010 NULL
1 8/16/2011 9/15/2011
2 9/10/2009 NULL
2 9/8/2010 10/15/2010
2 9/12/2011 11/15/2011
感谢RyanD ,但结果与我在那里发布的结果不一样e“NULL”。 – Wayne
PSN \t \t ORDER_DATE opt_out_date \t 2009年8月14日9/15/2009 \t 2010年8月15日2011/9/15 \t 2011/8/16 2011/9/15 - About SOHU \t 10/15/2010 2010/9/8 \t 10/15/2010 2011年9月12日\t 11/15/2011 – Wayne
林,我怎么没看到你根据您解释的标准从表C中获得结果。也许你需要澄清。回报日期应该是在同一年吗? – Jim