使用BigQuery SQL将列转换为行可以通过使用UNION ALL和CROSS JOIN来实现。
首先,我们需要创建一个包含列的表,然后使用UNION ALL将每个列作为单独的行插入到新表中。接下来,我们可以使用CROSS JOIN将新表与自身连接,以将每个列组合成一行。
以下是具体步骤:
my_table
,并将每个列作为单独的行插入到新表new_table
中:CREATE TABLE new_table AS
SELECT 'column1' AS column_name, column1 AS column_value FROM my_table
UNION ALL
SELECT 'column2' AS column_name, column2 AS column_value FROM my_table
UNION ALL
SELECT 'column3' AS column_name, column3 AS column_value FROM my_table
...
请注意,上述代码中的column1
,column2
,column3
是原始表my_table
中的列名。
new_table
与自身连接,以将每个列组合成一行:SELECT t1.column_value AS column1, t2.column_value AS column2, t3.column_value AS column3, ...
FROM new_table t1
CROSS JOIN new_table t2
CROSS JOIN new_table t3
...
WHERE t1.column_name = 'column1'
AND t2.column_name = 'column2'
AND t3.column_name = 'column3'
...
请注意,上述代码中的column1
,column2
,column3
是新表new_table
中的列名。
这样,我们就可以将列转换为行,并将它们组合成一行。
关于BigQuery SQL的更多信息和示例,请参考腾讯云的BigQuery产品介绍页面:BigQuery产品介绍
领取专属 10元无门槛券
手把手带您无忧上云