Google bigquery 不支持引用其他表的相关子查询

Google bigquery 不支持引用其他表的相关子查询,google-bigquery,bigquery-standard-sql,Google Bigquery,Bigquery Standard Sql,我有数百个查询为我公司的仪表盘供电,这些仪表盘工作了多年,但几天前一夜之间就坏了,给出了错误: 错误:不支持引用其他表的相关子查询,除非它们可以取消相关,例如通过将它们转换为有效联接 下面是存在问题的查询类型的示例。显然,问题出在哪里。这种类型的查询真的不再受支持了吗?现在是否需要将所有使用此语法的查询转换为使用内部联接?这是一个巨大的变化,真正影响了我们的分析 -- standardSQL SELECT accounts, monthly_timestamp FROM `cus

我有数百个查询为我公司的仪表盘供电,这些仪表盘工作了多年,但几天前一夜之间就坏了,给出了错误:

错误:不支持引用其他表的相关子查询,除非它们可以取消相关,例如通过将它们转换为有效联接

下面是存在问题的查询类型的示例。显然,问题出在哪里。这种类型的查询真的不再受支持了吗?现在是否需要将所有使用此语法的查询转换为使用内部联接?这是一个巨大的变化,真正影响了我们的分析

-- standardSQL
SELECT 
  accounts,
  monthly_timestamp
FROM 
  `custom_query_ingestion.accounts_monthly`
WHERE 
  monthly_timestamp <= (SELECT MAX(TIMESTAMP(date)) FROM `historical_data.historical_revenue`) 

问题是历史收入中未赋值数组常量的左连接:

LEFT JOIN (
  SELECT 
    product
  FROM 
    UNNEST(['Item1','Item2','Item3']) AS product
) AS nonrecurring
ON nonrecurring.product = revenue.product_item

当陈述解决了问题时重写作为案例

对于此类问题,您最好为BQ工程团队创建一个公共问题跟踪程序,并参考此处的链接。您可以使用问题跟踪器更快地获得答案。如果仍然有,则应该为这两种情况添加示例作业ID。谢谢,我会的。我仍然无法确定这是否是一个bug,或者BigQuery是否真的不再希望用它来支持查询syntax@StephanieG我不是BigQuery专家,但您可以将此查询重写为与查找最大时间戳的子查询的交叉连接。可能不是最好的解决方案,但可能需要尝试。Stephanie和BigQuery团队的人应该能够帮助解决这个问题。@StephanieG我知道你是新来的。在下面以答案的形式发布,几天后你可以标记为答案。