how to achieve the following task using sql server management studio -


i have 2 datasets. dataset1 have 2 variable name , date. dataset1 have name, date2 , price.

dataset1 looks following

name  date x1    2013-04-12 x1    2013-05-12  x1    2014-04-12 x2    2012-06-11 x2    2014-04-12 x2    2015-05-01  x3    2005-02-01 

dataset2 looks following

name  date1         price x1    2013-04-11     1.1 x1    2013-05-12     2 x1    2014-04-13     3 x2    2012-06-13     2.2 x2    2014-04-12     0.6 x2    2016-05-01     0.5 

for each name , date in dataset1, want find price of same name recent (latest) date1 equal or earlier date dataset1.name = dataset2.name , max(date1 |date1<= date).

result should looks like:

name  date          date1          price x1    2013-04-12    2013-04-11     1.1 x1    2013-05-12    2013-05-12     2 x1    2014-04-12    2013-05-12     2 x2    2012-06-11    null           null x2    2014-04-12    2014-04-12     0.6 x2    2015-05-01    2014-04-12     0.6 x3    2005-02-01    null           null 

can teach me how code please.

in sql server, easiest method outer apply:

select d1.*, d2.* dataset1 d1 outer apply      (select top 1 d2.*       dataset2 d2       d2.name = d1.name , d2.date1 <= d1.date       order d2.date1 desc      ) d2; 

Comments

Popular posts from this blog

magento2 - Magento 2 admin grid add filter to collection -

Android volley - avoid multiple requests of the same kind to the server? -

Combining PHP Registration and Login into one class with multiple functions in one PHP file -