2017-09-27 33 views
0

我使用Redshift並有6個ID表。我想要獲取每個表之間的相交點。SQL(Redshift)獲取多個表的相交

所以我最後的結果將是這個樣子:

  • 表1 &表2有10%的通用標識
  • 表1 &表3有50%的通用標識
  • .... 。
  • .....
  • 表6 &表4具有20%共同的ID
  • Ť能6 &表5中有3%的共同標識

我可以很容易地獲取數據,但它是一個很多重複相同的SQL的,所以我想盡量創造所有的ID和表格的一些表他們在,但我堅持要在一個或兩個SQL中獲取數據。

任何想法歡迎!

回答

0

你可以嘗試全面加入由ID所有這些表在子查詢中,然後使用條件總讓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)

(以表1的行數作爲分母)

+0

謝謝,這是我最後做的 – ewan123uk