根据日期加入2个表

问题描述 投票:0回答:1

我有2个表,其中包含一个项目的记录和我在下面提到的日期:

Table 1:
A  |  B
1    1/1
2    1/1
1    1/7
2    1/21
1    1/10
2    1/30

Table 2: 

A  |  C
1    1/10
1    1/12
1    1/17
2    1/14
2    1/23
2    1/23

我希望将表2中的最小日期分配给表1,以获得表1中的最小日期。我已经给出了下面的输出表:

A  |  B  |  C
1    1/1   1/10
1    1/7   1/12
1    1/10  1/17 
2    1/1   1/14
2    1/21  1/23 
2    1/30  1/23

现在,表1中的最小日期与表2中的最小日期相关联。

sql sql-server join
1个回答
0
投票

您可以枚举值并加入:

select t1.a, t1.b, t2.c
from (select t1.*, row_number() over (partition by a order by b) as seqnum
      from t1
     ) t1 join
     (select t2.*, row_number() over (partition by a order by b) as seqnum
      from t2
     ) t2
     on t2.a = t1.a and t2.seqnum = t1.seqnum
© www.soinside.com 2019 - 2024. All rights reserved.