有没有办法在雪花中旋转列到行?
Posted
技术标签:
【中文标题】有没有办法在雪花中旋转列到行?【英文标题】:Is there a way to rotate column's to row in snowflake? 【发布时间】:2021-03-31 21:44:39 【问题描述】:我有一个像下面这样的单行表,它来自像下面这样的雪花查询
show warehouses like 'COMMON_WH';
select "name","state","type","size" FROM TABLE(RESULT_SCAN(LAST_QUERY_ID()))
name|state|type|size
COMMON_WH|SUSPENDED|STANDARD|Small
我想像下面这样旋转它。
name| COMMON_WH
state|SUSPENDED
type|STANDARD
size|Small
谢谢,
【问题讨论】:
【参考方案1】:您可以使用unpivot 来完成此操作。这是一个如何使用它的示例。请注意,这有点冗长,因为您需要在取消透视之前将所有原始表的数据类型转换为相同的数据类型(在本例中为varchar
)。
show warehouses like 'COMMON_WH';
select *
from (
select
"name"::varchar as name,
"state"::varchar as state,
"type"::varchar as type,
"size"::varchar as size
FROM TABLE (RESULT_SCAN(LAST_QUERY_ID()))
) unpivot (col_val for col_name in (name, state, type, size))
这会产生:
COL_NAME | COL_VAL |
---|---|
NAME | COMMON_WH |
STATE | STARTED |
TYPE | STANDARD |
SIZE | X-Small |
【讨论】:
嗨西蒙,我已经更新了这个问题,以更准确地说明我到底想在雪花中做什么。您回答的答案可能不起作用,因为我在这里依赖 TABLE(RESULT_SCAN(LAST_QUERY_ID(). 答案已根据您的新要求再次更新以上是关于有没有办法在雪花中旋转列到行?的主要内容,如果未能解决你的问题,请参考以下文章