[英]create a view from two tables in athena query
基本上我的用例是我在 athena 中創建一個視圖,但我想根據表中列給出的日期 (snapshot_date) 從兩個表中選擇數據。 怎么做? 我沒有找到它的語法
SELECT
baseline_year
, marketplace
, locale
, snapshot_time
, ...
FROM
table1
我想實現類似如果快照時間小於 2022-05-01,則使用表 2,否則使用表 1。我們可以在 FROM 中進行任何類型的調節嗎? 我已經探索過我們可以使用 CASE_WHEN 對列執行條件,但不確定是否可以在 FROM 中使用?
如果我沒記錯的話,您的意思是如果 snapshot_time 早於 2022-05-01 則使用 table2,如果 snapshot_time 大於或等於 2022-05-01 則使用 table1,無論這兩個表的shapshot_time是什么。
SELECT ... FROM table1 where date(snapshot_time)>= '2022-05-01'
union
SELECT ... FROM table2 where date(snapshot_time) < '2022-05-01' ;
您可以繼續使用參數化視圖,嘗試創建一個函數:
CREATE FUNCTION func() RETURNS DATE
RETURN @var;
然后創建視圖:
CREATE VIEW view1 AS
SELECT
T1.baseline_year
, T1.marketplace
, T1.locale
, T1.snapshot_time
, ...
FROM table1 AS T1
WHERE DATE(T1.snapshot_time) >= func()
UNION
SELECT
T2...,
..
FROM
table1 AS T2
WHERE DATE(T2.snapshot_time) <= func()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.