我在google bigquery中有下表:
+------------+---------+---------+
| Name | City | items |
+------------+---------+
| James | Dallas |[{'text': 'pear', 'line_total_excl_vat': '24','product_id': 100}]
| John | Chicago |[{'text': 'apple', 'line_total_excl_vat': '29','product_id': 200},{'text': 'banana', 'line_total_excl_vat': '34','product_id': 300}]
+------------+---------+
我正在努力实现这样的目标:
+------------+---------+---------+----------------------+--------------+
| Name | City | text | line_total_excl_vat | product_id
+------------+---------+
| James | Dallas | pear | 24 | 100
| John | Chicago | apple | 29 | 200
| John | Chicago | banana | 34 | 300
+------------+---------+
“items”列实际上是一个字符串。有没有办法取消这个数据格式并在bigquery中实现我想要的视图?谢谢!
2条答案
按热度按时间lkaoscv71#
下面是bigquery标准sql
如果要应用于您问题中的样本数据-如下面的示例所示
输出为
vuv7lop32#
这有点像摆弄json_extract和json_extract_数组与unnest()的结合。。。
这将创建一个嵌套的输出,您可以稍后使用它(请参阅输出的json表示,这一点更为清楚)-如果您想展平表,您可以横向连接这个结果数组。。。