如何使用SQL提取上一个日期和下一个日期

时间:2018-08-24 04:53:39

标签: sql postgresql

我在Purchase_data和Price_data下面有2个表,并且想要下面的结果(我想要的输出)。 我想在purchade_date = price_date上将purchase_data表链接到price_data以获取平均价格。

当没有与购买日期匹配的price_date时,我想将其与先前的价格日期相匹配以获得先前的avg_price;如果没有先前的价格日期,我想将其与未来价格日期以获取将来可用的avg_price。我的最终结果应类似于下面的第三张表。

希望有道理

谢谢您的帮助

购买数据

Customer_Id Prod_code   purchase_date       
A               2001    26/07/2016 00:00        
A               3001    11/11/2016 00:00        
A               3004    30/03/2017 00:00        
A               3001    22/06/2017 00:00        
A               3008    22/06/2017 00:00        

价格数据

Customer_Id Prod_code   price_date  avg_price   
A               2001    24/07/2016 00:00    20  
A               2001    25/07/2016 00:00    20  
A               3001    11/11/2016 00:00    37  
A               3004    30/03/2017 00:00    17  
A               3001    22/06/2017 00:00    44  
A               3008    28/06/2017 00:00    30  
A               3008    30/06/2017 00:00    29  

我想要的输出

Customer_Id Prod_code   avg_price       
A                2001   20      
A                3001   37      
A                3001   43      
A                3004   17      
A                3001   44      
A                3008   30      

0 个答案:

没有答案