【发布时间】:2018-07-24 13:46:25
【问题描述】:
我有一个查询遇到此错误消息: 错误:标量子查询产生了多个元素
我想加入代表在不同时间段发生的行为的表格,但正常的加入似乎不起作用:
选择 a.g, count(*) from
(选择user_id作为用户,
(选择 x.value.string_value from
analytics_156934592.events_20180701, unnest(event_params) as x where x.key = 'group') as g,(选择 x.value.string_value from
analytics_156934592.events_20180701, unnest(event_params) as x where x.key = 'operation') 作为操作来自
analytics_156934592.events_20180701其中 event_name = 'book_now')a加入
(选择user_id作为用户,
(选择 x.value.string_value from
analytics_156934592.events_20180702, unnest(event_params) as x where x.key = 'operation') 作为操作来自
analytics_156934592.events_20180702其中 event_name = 'book_now')ba.user = b.user
其中 a.operation = 'no_car' 和 b.operation = 'confirm'
按 a.g 分组
不确定这是否是使用 Big Query 标准 Sql 进行联接的正确方法 以前类似问题的解决方案也对我不起作用。
感谢您的帮助!
【问题讨论】:
-
错误信息很清楚,您在 select 子句中的一个或多个子查询正在生成多个值。一定有比现在更好的方法来制定您的查询。
-
简化您的查询并找出问题所在。
-
您可以在子查询中使用前 1 来解决问题,但您需要详细检查这些子查询,因为您可能会得到错误的数据
-
谢谢大家!我得到了如下解决方案。
标签: sql join google-bigquery