在不使用内部查询或CTE的情况下,如何在WHERE子句中将过滤器用于大查询中的未嵌套值?

我想按unnest的输出过滤,但有错误

  

无法识别的名称:[23:73]的customer_id

 SELECT
          fullVisitorId,totals.transactionRevenue,(SELECT 
    MAX(
    IF
      (index=3,value,NULL))
  FROM
    UNnesT(hits.customDimensions)) AS customer_id

 FROM `XXXX.google_analytics.google_analytics_fact` as GA,UNnesT(GA.hits) as hits
  WHERE customer_id IS NOT NULL

我可以使用内部查询或CTE过滤输出,但我正在寻找一种无需使用过滤器即可应用过滤器的方法。

huazhua88225 回答:在不使用内部查询或CTE的情况下,如何在WHERE子句中将过滤器用于大查询中的未嵌套值?

那是因为它在表中不存在-SELECT最后执行。

但是您可以在WHERE

中使用子查询
 SELECT
   fullVisitorId,totals.transactionRevenue,(SELECT value FROM UNNEST(hits.customDimensions) WHERE index=3) AS customer_id

 FROM `XXXX.google_analytics.google_analytics_fact` as GA,UNNEST(GA.hits) as hits
 WHERE (SELECT value FROM UNNEST(hits.customDimensions) WHERE index=3) IS NOT NULL
本文链接:https://www.f2er.com/3101810.html

大家都在问