GBQ Unpviot Columns 变成单列多行
GBQ Unpviot Columns into single column and multiple rows
大家好 正在尝试找出与 类似但略有不同的解决方案。我正在尝试找出一种方法来取消透视不同数量的列并将结果放在一列中
输入 这将是一个 sql table (tbl_fruit),如图所示存在
SELECT * 来自 tbl_fruit
输出
可能的解决方案
根据链接的问题,我正在尝试修改该解决方案,但一直有错误
select `Group`, split(kv, ':')[offset(0)] output
from tbl_fruit t,
unnest((select as struct t.* except(`Group`))) kv
where kv[offset(1)] != '0'
group by `Group`
select `Group`, split(kv, ':')[offset(0)] output
from `project.dataset.table` t,
unnest(split(translate(to_json_string((select as struct t.* except(`Group`))), '{}"', ''))) kv
where split(kv, ':')[offset(1)] != '0'
有输出
大家好 正在尝试找出与
输入 这将是一个 sql table (tbl_fruit),如图所示存在
SELECT * 来自 tbl_fruit
输出
可能的解决方案 根据链接的问题,我正在尝试修改该解决方案,但一直有错误
select `Group`, split(kv, ':')[offset(0)] output
from tbl_fruit t,
unnest((select as struct t.* except(`Group`))) kv
where kv[offset(1)] != '0'
group by `Group`
select `Group`, split(kv, ':')[offset(0)] output
from `project.dataset.table` t,
unnest(split(translate(to_json_string((select as struct t.* except(`Group`))), '{}"', ''))) kv
where split(kv, ':')[offset(1)] != '0'
有输出