Скрестите стол с собой Impala SQL Cloudera - PullRequest
0 голосов
/ 25 августа 2018

У меня есть таблица с идентификатором пациента и условиями около 400 условий.

Я хочу видеть, где есть перекрытие между двумя условиями для каждого условия, поэтому 400 выбрать 2 порядка не имеет значения.

по сути, это исходная таблица

enter image description here

это может быть результатом того, что импала не поддерживает самостоятельное объединение, так что ... выглядит

enter image description here

1 Ответ

0 голосов
/ 25 августа 2018

Я думаю, что должно работать следующее:

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.Я хочу убедиться, что это работает, прежде чем решать остальную часть проблемы.

...