2013-02-18 11 views
5

(...)+入力と一致していない私はハイブ0.9.0を使用していると私はハイブ複数のサブクエリ

`SELECT a.id, b.user FROM (SELECT...FROM a_table) a, (SELECT...FROM b_table) b WHERE a.date = b.date;` 

すなわちクエリを実行しようとしているが、それは誤り」ループを返します.... " HiveはOracle DBと同様にFROMの複数のサブクエリをサポートしていますか?

答えて

6

subqueriesハイブで許可されています。

以下のコードでテストしましたが、動作します。

select * from (select id from test where id>10) a 
join (select id from test where id>20) b on a.id=b.id; 

私は、関連するソリューションを与えることができるようにあなたの正確なコードを投稿してください。

+0

ありがとう、Balaswamy!私はすでにあなたの例のようにJOINを使ってクエリを実行しました –

1

サブクエリを結合することは絶対にサポートされています。

私は重要な問題は、あなたがSELECT...FROMを使用していると思います。

正しい構文は、あなたの代わりにWHERE 句、適用する前に、完全なデカルト積を取得したい場合はSELECT * FROM

​​
+0

私は...と推測していますが、 "some fields" – MikeKulls

0

です:

SELECT a.id, b.user FROM (SELECT...FROM a_table) a, (SELECT...FROM b_table) b WHERE a.date = b.date; 

を使用すると、途中で「参加する」を使用しなければなりませんすなわち、

SELECT a.id, b.user FROM (SELECT...FROM a_table) a join (SELECT...FROM b_table) b WHERE a.date = b.date; 

上記は厳格なモードでは認められません。

関連する問題