如何比较一个表中的每一行和另一个表中的每一列?

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

我有如下表。

表A(共3000行,结束日期可能有重复,例如123和223可能有相同的结束日期)

enroll_dt,end_date, acct_nbr
12/31/2016, 01/03/2017, 123
12/31/2016, 01/04/2017, 234
01/05/2017, 02/02/2017, 334

表B(共30个唯一值)

enroll_dt
12/31/2016
01/01/2017
01/02/2017
01/03/2017
01/04/2017
01/05/2017
...

希望的表。

Date number_of_records
12/31/2016  2
01/01/2017 2
01/02/2017 2
01/03/2017 2
01/04/2017 1
02/01/2017 1

我想做的是,对于表B中的每一个值,我将对表A中的所有行进行排序,然后返回#的值。acct_nbr 如果到日期A为止,共有多少个账户被注册,有多少个账户有 end_date>DateA. 前 01/01/2017 来自表B。number_of_records = 2 因为我们只有2个账户注册到01012017(acct_nbr=123和234),而且end_date'01032017'和'01042017'都大于'01012017'。

谢谢你的帮助

sas teradata proc-sql
1个回答
0
投票

假设你的日期被存储为实际日期。

select
b.datea,
count(distinct a.acct_nbr)
from
b
inner join a
on a.end_date >= b.datea
group by 
1
© www.soinside.com 2019 - 2024. All rights reserved.