如何将列中的所有非空值更改为SQL中的列名?
How to change all non-null values in a column to the column name in SQL?
假设我们有以下内容:
ID data1 data2 data3
001 carl NULL NULL
002 NULL rick NULL
003 NULL mitch NULL
004 NULL NULL NULL
我想要做的就是在列名中创建每个非空值。 Snowflake 中的类似内容。
ID data1 data2 data3
001 data1 NULL NULL
002 NULL data2 NULL
003 NULL data2 NULL
004 NULL NULL NULL
我有不同的行作为 ID,还有几列我不想应用它。在 SQL 中如何解决这个问题?
select id,
case when data1 is not null then 'data1' else null end as data1,
...
假设我们有以下内容:
ID data1 data2 data3
001 carl NULL NULL
002 NULL rick NULL
003 NULL mitch NULL
004 NULL NULL NULL
我想要做的就是在列名中创建每个非空值。 Snowflake 中的类似内容。
ID data1 data2 data3
001 data1 NULL NULL
002 NULL data2 NULL
003 NULL data2 NULL
004 NULL NULL NULL
我有不同的行作为 ID,还有几列我不想应用它。在 SQL 中如何解决这个问题?
select id,
case when data1 is not null then 'data1' else null end as data1,
...