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で複数のサブクエリをサポートしますか?
複数 サブクエリ Hiveで許可されています。
私は以下のコードでテストしました、それは動作します。
select * from (select id from test where id>10) a
join (select id from test where id>20) b on a.id=b.id;
関連する解決策を提供できるように、正確なコードを投稿してください。
参加サブクエリは絶対にサポートされています。
重要な問題は、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;
WHERE句を適用する前に完全なデカルト積を取得する場合は、代わりに次のようにします。
SELECT a.id, b.user FROM (SELECT...FROM a_table) a, (SELECT...FROM b_table) b WHERE a.date = b.date;
中央で「join」を使用する必要があります。
SELECT a.id, b.user FROM (SELECT...FROM a_table) a join (SELECT...FROM b_table) b WHERE a.date = b.date;
上記は厳密モードでは許容されません。