6

Hive 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 で複数のサブクエリをサポートしていますか?

4

3 に答える 3

6

ハイブで許可されている複数のサブクエリ。

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

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

関連する解決策を提供できるように、正確なコードを投稿してください。

于 2013-02-19T05:04:04.280 に答える
1

サブクエリへの参加は絶対にサポートされています。

重要な問題は、uを使用することだと思いますSELECT...FROM

正しい構文は次のとおりです。SELECT * FROM

SELECT a.id, b.user 
FROM 
(SELECT * FROM a_table) a 
JOIN (SELECT * FROM b_table) b ON a.date = b.date;
于 2013-02-23T16:47:45.003 に答える
0

WHERE 句を適用する前に完全なデカルト積を取得する場合は、代わりに次のようにします。

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;

上記は厳密モードでは許容されません。

于 2013-02-24T16:04:34.710 に答える