我有一個巨大的表格,其中包含數百萬行/ID,格式如下。
ID date bor1_key bor1_fico04 bor1_fico08 bor2_key bor2_fico04 bor2_fico08
A 202109 00657B187TH8 800 832 07T5O90Y009T 789 823
我需要將其轉換為以下格式,以便值位于 2 行中,如下所示。
ID date rownum key fico04 fico08
A 202109 2 07T5O90Y009T 789 823
A 202109 1 00657B187TH8 800 832
你能幫我解決一個 impala/hive 查詢嗎?非常感謝。
uj5u.com熱心網友回復:
我認為一種方法是這樣的:
select
d.ID, d.date, n.n as rownum,
case
when n.n = 1 then d.bor1_key
else d.bor2_key
end as key,
case
when n.n = 1 then d.bor1_fico04
else d.bor2_fico04
end as fico04,
case
when n.n = 1 then d.bor1_fico08
else d.bor2_fico08
end as fico08
from your_data d
/* duplicate the results */
left join (select 1 as n union all select 2 as n) n
on 1=1
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/422664.html
標籤:
