Proc SQL 没有正确加入
Proc SQL not joining properly
这是我的代码:
proc sql;
create table firstjoin as
select a.*
from want a
left join want3 b
on a.date=b.mindate and a.id=b.id;
quit;
其中 want
是一个 table,每个 ID 有很多行和日期,want3
是一个 table,每个 ID 只有一行和日期。
Want
看起来像:
Date | ID | Company | Click
-----------+----+---------+--------
01/01/2021 | 01 | Us | 1
01/01/2021 | 01 | Us | 1
01/01/2021 | 01 | Other | 1
02/01/2021 | 01 | Us | 0
02/01/2021 | 01 | Other | 0
02/01/2021 | 02 | Us | 1
03/01/2021 | 02 | Us | 1
03/01/2021 | 02 | Us | 0
而 want3
看起来像:
MinDate | ID
-----------+----
01/01/2021 | 01
02/01/2021 | 02
我想要做的是匹配两个 table,因此每个 ID 只显示第一个日期行。该日期是 want3
中的日期。结果应如下所示:
Date | ID | Company | Click
-----------+----+---------+--------
01/01/2021 | 01 | Us | 1
01/01/2021 | 01 | Us | 1
01/01/2021 | 01 | Other | 1
02/01/2021 | 02 | Us | 1
出于某种原因,当我 运行 这个连接时,结果看起来像 want
即每个 ID 仍然有很多行和日期。
你试过内连接吗
proc sql;
create table firstjoin as
select a.*
from want a
inner join want3 b
on a.date=b.mindate and a.id=b.id;
quit;
这是我的代码:
proc sql;
create table firstjoin as
select a.*
from want a
left join want3 b
on a.date=b.mindate and a.id=b.id;
quit;
其中 want
是一个 table,每个 ID 有很多行和日期,want3
是一个 table,每个 ID 只有一行和日期。
Want
看起来像:
Date | ID | Company | Click
-----------+----+---------+--------
01/01/2021 | 01 | Us | 1
01/01/2021 | 01 | Us | 1
01/01/2021 | 01 | Other | 1
02/01/2021 | 01 | Us | 0
02/01/2021 | 01 | Other | 0
02/01/2021 | 02 | Us | 1
03/01/2021 | 02 | Us | 1
03/01/2021 | 02 | Us | 0
而 want3
看起来像:
MinDate | ID
-----------+----
01/01/2021 | 01
02/01/2021 | 02
我想要做的是匹配两个 table,因此每个 ID 只显示第一个日期行。该日期是 want3
中的日期。结果应如下所示:
Date | ID | Company | Click
-----------+----+---------+--------
01/01/2021 | 01 | Us | 1
01/01/2021 | 01 | Us | 1
01/01/2021 | 01 | Other | 1
02/01/2021 | 02 | Us | 1
出于某种原因,当我 运行 这个连接时,结果看起来像 want
即每个 ID 仍然有很多行和日期。
你试过内连接吗
proc sql;
create table firstjoin as
select a.*
from want a
inner join want3 b
on a.date=b.mindate and a.id=b.id;
quit;