与本身的Impala SQL Cloudera交叉连接表

时间:2018-08-24 23:09:07

标签: sql impala

我有一张带有患者ID和条件的表格 大约400个条件

我想查看每个条件在两个条件之间有重叠的地方 所以400选择2顺序没关系。

本质上这是源表

enter image description here

这将是结果 impala不支持自我加入,因此....

enter image description here

1 个答案:

答案 0 :(得分:0)

我认为以下方法应该有效:

select s1.condition, s2.condition, count(*) as num_patients
from source s1 join
     source s2
     on s1.patientid = s2.patientid
group by s1.condition, s2.condition;

这不能完全回答您的问题-因为它省略了0值。在解决其余问题之前,我想确保此方法有效。