2017-10-20 96 views
0

我想在Hive v1.2.1中執行以下查詢,其中field_3是從另一個表中查詢的。有沒有辦法給Hive中返回的所有記錄動態添加一個常量值?

select user_id, start_date, field_3 as stop_date 
from some_table; 

對於返回的每個記錄,field_3的值是相同的。問題是它存儲在另一個表中。爲了得到這個價值,我可以得到它如下。

select max(some_field) as stop_date 
from another_table; 

現在,我已經硬編碼了文字。

select user_id, start_date, cast(cast('2017-10-19' as date) as timestamp) as stop_date 
from some_table; 

但是,這種方法是不可取的,因爲適當的值將在一天中改變。

任何解決方案都應該考慮它是否可以通過Hive SQL環境插入到Spark中。

回答

1

您可以加入從另一個表的輸出..

select user_id, start_date, b.field_3 as stop_date FROM 
some_table a, 
(select max(some_field) as field_3 
from another_table) b; 
+0

我不認爲作品。有3個'FROM'。如果我刪除最後一個'FROM',那麼它按預期工作。請修改,我會接受。 –

+0

是的。我已經刪除它。粘貼時這是一個錯誤.. –

相關問題