在配置单元中使用sql在两个数据表中保留变量

zujrkrfu  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(290)

在只选择了data2中存在的cpt代码之后,如何从data1和data2中保留data0中的变量?
data1有变量:id age year cpt\u code1 cpt\u code2
data2有变量:gender clinic cpt\u code
期望结果:在data1和data2之间选择匹配的cpt代码之后,data0还保留data1中的所有变量,并且在只选择了期望的cpt代码之后保留data2中的其余变量。它看起来是这样的:
数据0:id年龄-性别诊所cpt\U代码1 cpt\U代码2

CREATE  (TABLE data0  as
      SELECT * 
        from 
                data1
      where 
     cpt_code1 in (select cpt_code from data2) 
     OR 
 cpt_code2 in (select cpt_code from data2)                              
);
5cg8jx4n

5cg8jx4n1#

如果我理解正确,您正在寻找左连接。尝试以下操作:

SELECT d1.ID, d1.age, d1.year, d1.cpt_code1, d1.cpt_code2, d2.gender, d2.clinic
FROM data1 d1 LEFT OUTER JOIN data2 d2
ON d1.cpt_code1 = d2.cpt_code OR d1.cpt_code2 = d2.cpt_code

相关问题