google-bigquery - 如何 UNNEST 并将所有重复的行写入单行
问题描述
目前,我有一个包含产品名称和成分的嵌套表。但是需要 UNNEST() 它并将所有成分写在一行中。
SELECT productTitle, ingridientTitle FROM `TABLE`, UNNEST(ingredients)
由此 :
productTitle ingridientTitle
A A
C
D
E
B
A
B
C
A
C
对此:
productTitle ingridientTitle
A A,C,D,E
B A,B
c A,C
解决方案
无需取消嵌套,您可以使用ARRAY_TO_STRING()
:
with a as (
select 'A' as productTitle
, ['A', 'B' , 'C' , 'D', 'E'] as ingridientTitle
union all
select 'B' as productTitle
, ['A', 'B'] as ingridientTitle
union all
select 'C' as productTitle
, ['A', 'E'] as ingridientTitle
)
select productTitle , ARRAY_TO_STRING(ingridientTitle, ",")
from a
推荐阅读
- android - 卡片视图Android里面的功能
- database - 如何在 AWS 上进行数据库转储?
- reactjs - 渲染道具与传递功能组件,哪个是首选?
- spring - Spring WebFlux:HttpWebHandlerAdapter - 已建立的连接被中止
- javascript - iframe 悬停时滚动父窗口
- r - 在 U-SQL 中执行 R
- excel - 当单元格在单元格范围内有值时插入新行
- android - Android - 无法解决:cardview-v7
- google-analytics-api - 如何在 api explorer 中使用 Google Analytics API v3 > analytics.management.uploads.uploadData 方法
- angular - 如何在angular2中的路由期间保存数据