【发布时间】:2016-08-10 08:42:14
【问题描述】:
我正在使用标准 SQL,并且我有表 Order:
我正在尝试将它与表 MenuItem 加入它
在Order item_ids 数组和MenuItem __id__ 整数列上并获取MenuItem 价格数组,但我收到错误:
不支持引用其他表的相关子查询,除非它们可以去相关,例如通过将它们转换为有效的 JOIN。
如何避免这个错误?
查询:
WITH menu_items AS
(
SELECT
__id__,
price
FROM
`potykion.MenuItem`
)
SELECT
*,
ARRAY(
SELECT
price
FROM
UNNEST(item_ids) AS id
JOIN
menu_items
ON
id = menu_items.__id__
)
FROM
`potykion.Order`
【问题讨论】:
-
什么是
item_details?我在Orders表的示例数据中没有看到它。 -
我猜
item_details是其中一张表中的记录。不过,请提供您的表的架构,其中包含几行示例和预期结果。 - 一般而言 - 请编辑您的问题以显示您遇到问题的代码的Minimal, Complete, and Verifiable example,然后我们可以尝试帮助解决具体问题。你也可以阅读How to Ask。 -
预期输出是什么? - 仍然不清楚 - 是订单的字段加上订单中所有商品的总价吗?
-
我需要用价格数组替换 item_ids 数组
标签: sql google-bigquery