【发布时间】:2020-01-03 18:25:07
【问题描述】:
我需要根据 dev_id 在一列 (cont_url) 中连接数据。我能够使用此查询在 MS-SQL 中成功执行此操作,但我需要在 BigQuery 中执行此操作。
select
dev_id,
stuff(
(SELECT '|||' + cont_url
FROM `test_table_sample`
WHERE dev_id = a.dev_id
FOR XML PATH ('')) --Error is here
, 1, 1, '') as testlist
from
`test_table_sample` as a
group by
dev_id
当我在 Big Query 中安装表并尝试运行相同的查询时,出现语法错误。
预期为“)”,但在 [7:18] 得到关键字 FOR
我不知道我做错了什么以及 BigQuery 标准 SQL 语法与 T-SQL 有何不同。
我已经包含了一个示例数据表。
test_table_sample
dev_id cont_url
Device1 Link1
Device1 Link2
Device1 Link3
Device1 Link4
Device2 anotherLink1
Device2 anotherLink2
Device2 anotherLink3
Device2 anotherLink4
Device2 anotherLink5
这是查询的结果。
Results
dev_id cont_url
Device1 Link1|||Link2|||Link3|||Link4
Device2 anotherLink1|||anotherLink2|||anotherLink3|||anotherLink4|||anotherLink5
【问题讨论】:
标签: sql google-bigquery