Mysql 如何将列名称更改为行值

Mysql 如何将列名称更改为行值,mysql,sql,pivot,unpivot,Mysql,Sql,Pivot,Unpivot,我有一张像下面这样的桌子 公司一月值二月值 sony 10 20 我希望得到如下结果 公司价值1价值2 sony jan_值10 sony feb_值20 我试图使用unpivot,但我的sql不支持unpivot选项,因为它是googlesql。 我真的需要帮助。提前感谢您在SQL中一般情况下,您可以使用union all: select company, 'jan_value' as value1, jan_value as value2 from t union all select co

我有一张像下面这样的桌子

公司一月值二月值

sony 10 20

我希望得到如下结果

公司价值1价值2

sony jan_值10

sony feb_值20

我试图使用unpivot,但我的sql不支持unpivot选项,因为它是googlesql。
我真的需要帮助。提前感谢您

在SQL中一般情况下,您可以使用
union all

select company, 'jan_value' as value1, jan_value as value2
from t
union all
select company, 'feb_value' as value1, feb_value as value2
from t;

根据您的数据库,可能会有更有效的方法。GCP支持多个数据库。

认真考虑修改您的模式。