如何将列名添加到BigQuery中正在做unnest结构的选择



我正在使用这样的给定值构建一个表

SELECT * FROM UNNEST
([ STRUCT
(1, 3.07766, 6.31371, 12.7062, 63.65600),
(2, 1.88562, 2.91999, 4.30265, 9.92482),
(3, 1.63774, 2.35336, 3.18243, 5.84089)
]) 

创建名称为fn_的列作为this

<表类>行f0_f1_f2_f3_f4_

使用下面的选项

SELECT * FROM UNNEST
([ STRUCT<a int64, b float64, c float64, d float64, e float64>
(1, 3.07766, 6.31371, 12.7062, 63.65600),
(2, 1.88562, 2.91999, 4.30265, 9.92482),
(3, 1.63774, 2.35336, 3.18243, 5.84089)
])        

从Python代码的角度来看——它应该等于你想要的。因此,带有列名的那一行—移动到STRUCT定义行并且不触及值rows

尽管我不喜欢它,但我可能不得不使用

SELECT * FROM UNNEST
([ STRUCT
(1 as a, 3.07766 as b, 6.31371 as c, 12.7062 as d, 63.65600 as e),
(2, 1.88562, 2.91999, 4.30265, 9.92482),
(3, 1.63774, 2.35336, 3.18243, 5.84089)
]) 

最新更新