不清楚您的表到底是什么架构,因此下面的示例(对于 BigQuery 标准 SQL)仅使用简化的架构来介绍完成您所要求的方法:each row also gets the rowkey value
简化的虚拟数据是:
Row rowkey column.name column.value
1 key1 domain aaa.com
event pageload
hash 12345
2 key2 domain2 aaa2.com
event2 pageload2
hash2 123456789
#standardSQL
WITH `project.dataset.table` AS (
SELECT 'key1' rowkey, [STRUCT<name STRING, value STRING>('domain', 'aaa.com'), STRUCT('event', 'pageload'), STRUCT('hash', '12345')] column UNION ALL
SELECT 'key2', [STRUCT<name STRING, value STRING>('domain2', 'aaa2.com'), STRUCT('event2', 'pageload2'), STRUCT('hash2', '123456789')]
)
SELECT rowkey, x.*
FROM `project.dataset.table` t, t.column x
结果为
Row rowkey name value
1 key1 domain aaa.com
2 key1 event pageload
3 key1 hash 12345
4 key2 domain2 aaa2.com
5 key2 event2 pageload2
6 key2 hash2 123456789