【问题标题】: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

谢谢,

【问题讨论】:

    标签: multiple-columns snowflake-cloud-data-platform unpivot


    【解决方案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().
    • 答案已根据您的新要求再次更新
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 2023-04-02
    • 2021-02-22
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多