2017-09-27 2 views
0

Redshift를 사용하고 6 개의 ID 테이블을 가지고 있습니다. 각 테이블 사이에 교차를 가져 오려고합니다.여러 테이블의 교집합을 얻으려는 SQL (Redshift)

그래서 내 최종 출력은 다음과 같이 보일 것이다 :

  • 표 2는 10 % 일반 ID가 1 & 표를
  • 표 3은 50 % 공통 ID가 1 & 표
  • .... .
  • .....
  • & 표 6 표 4는 20 %가 공통 ID를
  • T 수 6 & 표 5는 3 % 일반 ID가

난 쉽게 데이터를 얻을 수 있지만, 동일한 SQL을 반복 많은 것, 그래서 나는 모든 ID와 테이블의 일부 테이블을 만들려고했습니다 그들은 들어 있지만 하나 또는 두 개의 SQL에서 데이터를 얻으려면 무엇을 해야할지 고집합니다.

아이디어를 환영합니다!

답변

0
하위 쿼리의 ID로 모든 테이블을 조인 다음 (표 1 행 분모로 계산 복용) Table 1 & Table 2 have 10% common IDs

100.0*sum(case when id1 is not null and id2 is not null then 1 end)/count(id1)

로 표현 될 수 있도록한다는 조건 집합을 사용하여 전체에 시도 할 수

+0

고마워, 그게 내가 결국 한 짓이야. – ewan123uk

관련 문제