2013-03-12 40 views
8

HIVE SQLクエリを作成して、テーブル2に存在しないテーブル1のすべての値を検索したいと考えています。結合を使用する必要があることを理解していますHIVEテーブル2のテーブル1のデータをチェックします。

Table1 

url     number 
xe.com    5 
google.com   2 
ebay.co.uk   6 

Table2 

url     visits 
facebook.com   8 
google.com   4 
ebay.co.uk   15 

したがって、たとえばクエリがある表1からすべての値を返す必要があります。しかし私は、例えば

おかげで、 ジェームズ

が...このような状況のためにそれを実装する方法を見つけ出すことはできません表2にある、すなわち

url     number   visits 
google.com   2    4 
ebay.co.uk   6    15 
+0

あなたは、適切な答えをしたい場合はより多くの情報を含める必要があるとしています。テーブルのスキーマとそれらがどのようにリンクしているかは良いスタートになります。 –

+0

申し訳ありませんが、データスキーマに関する情報を必要としないように質問が簡単だと思いました。私は投稿を編集し、情報を含んでいます:) – user2160581

+0

基本的に私は反参加をする方法を探しています... – user2160581

答えて

14

LEFT JOINは一致するかどうかにかかわらず、Table1からすべての行を返します。一致がされていない場合にはTable2から列は値NULLを持っています - これらは、あなたがしたい行です:

SELECT Table1.url, Table1.number 
FROM Table1 
LEFT OUTER JOIN Table2 ON Table1.url = Table2.url 
WHERE Table2.url IS NULL 
+0

助けてくれてありがとうございます: Table1.url、Table1.number FROM Table1 LEFT JOIN Table2 ON Table1.url = Table2.url WHERE Table2.url IS NULL – user2160581

+0

@ user2160581これは、入力時に自分自身よりも先に進んで、FROM行を見逃してしまいました。今すぐ修正。 –

+0

と私が使用しているHIVEの目的のためにはLEFT OUTER JOINでなければなりません。感謝:) – user2160581

関連する問題