2017-01-11 10 views
0

ハイブSELECTクエリでテーブル名をどのようにすることができますか?ケース - ハイブのテーブル名

私はの効果に何かをしたい -

SELECT col1, col2 
FROM 
    CASE ${PARAM} 
    WHEN 'val1' THEN table1 
    WHEN 'val2' THEN table2 
+2

私はそれがSQLのどんな風味でも有効な構文だとは思いません。 – gobrewers14

+0

このアプローチが構文的に間違っているため、ケースを詳しく説明できますか? Case When ThenはSelect句でのみ使用できます。 –

+0

@RajatMishraハイブスクリプトの入力パラメータに基づいて、さまざまなソーステーブルから出力を生成したいとします。私は完全に私は有効ではないが、私の質問はどのような有効なハイブの構文は、目的を達成するために使用することができます構文を理解しています。 – KMeansK

答えて

1

これが可能です。

SELECT col1, col2 FROM table1 WHERE '${PARAM}' = 'val1' --only one subquery will be executed 
union all 
SELECT col1, col2 FROM table2 WHERE '${PARAM}' = 'val2' 
+0

ありがとうございました。私はこのアプローチで行くつもりです。 – KMeansK

関連する問題