首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用proc在基于第三个表的联合中选择行

使用proc在基于第三个表的联合中选择行
EN

Stack Overflow用户
提问于 2016-04-09 00:30:45
回答 2查看 43关注 0票数 0

我想以这种方式合并同一个表

代码语言:javascript
复制
ID B C D E
1 11 12 13 14
2 21 22 23 24
3 31 32 33 34

代码语言:javascript
复制
ID B C D E
1 11 12 13 14
2 21 22 23 24
3 31 32 33 34
11 13 14 
12
21 23 24
22
31 33 34
32

基于第三个表的ID。(我希望只有那些存在于第三个表中的I)

第三张表

代码语言:javascript
复制
ID
1
3
21
31

我有能力做这个联盟

代码语言:javascript
复制
proc sql ; 
create table bb as 
select * from first 
union
select B, D, E from first
union
select C from first

;
quit; 

这就是我被卡住的地方。如何仅选择存在于第三个表中的那些in。

EN

回答 2

Stack Overflow用户

发布于 2016-04-09 01:13:59

不能只使用子查询吗?

代码语言:javascript
复制
proc sql ; 
  create table want as 
     select B.*
     from
        (select * from first 
         union
         select B, D, E from first
         union
         select C from first
        ) B
     inner join THIRD c on B.id = C.id
  ;
quit;

()中插入构成第二个表的任何逻辑。

票数 1
EN

Stack Overflow用户

发布于 2016-04-09 00:35:18

您希望先联合第二个,然后连接到第三个,或者交替地将第三个连接到第一个和第二个;如果执行第一个操作,则不清楚SQL优化器是否会为您执行后一种操作。

代码语言:javascript
复制
proc sql;
  create table want as
  select * 
  from ( 
    select id,B,D,E 
    from first
    union
    select id,B,D,E
    from second
  ) U
  right join
  select id 
  from third
  on U.id=third.id
;
quit;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36504729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档