下面是BigQuery的標準SQL
如果你希望得到陣列您可以使用下面
#standardSQL
SELECT ARRAY(SELECT name FROM UNNEST(children)) AS names
FROM `yourproject.yourdataset.yourtable`
您可以測試/使用虛擬數據作爲
#standardSQL
WITH `yourproject.yourdataset.yourtable` AS (
SELECT [STRUCT<name STRING, gender STRING, age INT64>('abc1','m',12),('xyz1','m',13),('uvw1','f',14)] children UNION ALL
SELECT [STRUCT<name STRING, gender STRING, age INT64>('abc2','f',12),('xyz2','m',13),('uvw2','f',14)]
)
SELECT ARRAY(SELECT name FROM UNNEST(children)) AS names
FROM `yourproject.yourdataset.yourtable`
它玩
輸出爲
Row names
1 abc1
xyz1
uvw1
2 abc2
xyz2
uvw2
在情況下,如果你期望的字符串
#standardSQL
SELECT (SELECT STRING_AGG(name) FROM UNNEST(children)) AS names
FROM `yourproject.yourdataset.yourtable`
您可以測試/使用相同的虛擬數據
#standardSQL
WITH `yourproject.yourdataset.yourtable` AS (
SELECT [STRUCT<name STRING, gender STRING, age INT64>('abc1','m',12),('xyz1','m',13),('uvw1','f',14)] children UNION ALL
SELECT [STRUCT<name STRING, gender STRING, age INT64>('abc2','f',12),('xyz2','m',13),('uvw2','f',14)]
)
SELECT (SELECT STRING_AGG(name) FROM UNNEST(children)) AS names
FROM `yourproject.yourdataset.yourtable`
和輸出現在是
Row names
1 abc1,xyz1,uvw1
2 abc2,xyz2,uvw2
它玩