他の3つのテーブルをマージしてテーブルを上書きしようとしています。以下のように:ハイブ - テーブルに新しい列を追加すると、SemanticException [エラー10002]:無効な列参照
- 私は表3 の列の値に基づいて新しい列を追加しますtable2の
- からちょうど2つの列がかかりますTABLE1
- からすべての列がかかります
3つのテーブル:テーブル1、テーブル2と表3は、これは私がちょうどSELECTトンで、これまでのところ、私はINSERT OVERWRITE TABLE final_table
せずにそれをしようとしています(しようとしているクエリでキーIDとして
を持っていますOテーブルに挿入される結果)
--INSERT OVERWRITE TABLE final_table
select
t1.*,
t2.field1,
t2.field2,
CASE WHEN (t3.indicator = 'F' OR
t3.indicator = 'O'
) THEN 'Y' ELSE 'N' END AS new_field3
from
table1 t1
LEFT OUTER JOIN table2 t2
ON (t1.id = t2.id)
LEFT OUTER JOIN table3 t3
ON (t1.id = t3.id);
を参照してください。しかしCASE WHEN
に、私は次のエラーを取得しています:私は間違って
Error while compiling statement: FAILED: SemanticException [Error 10002]: Line 7:17 Invalid column reference 'new_field3'
何をしているのですか?
ありがとうございました。私が編集を完了する前に、「テーブル3の結合条件にはtable3は含まれていません」と指摘しました。 –