首页 > 解决方案 > 具有不同结果的 BigQuery

问题描述

我有一个涉及多个子查询的长查询。但是,如果我以一种方式运行查询,我会收到空​​值作为回报,如果我以另一种实际上相同的方式运行查询,则不会收到空值。

这个例子已经被极度简化了,但问题基本上呈现如下形式。当我运行这样的查询时,不会返回空值(这是我期望的结果):

WITH subquery1 AS (SELECT * FROM some_data WHERE value > 0), subquery2 AS (SELECT * FROM subquery1 WHERE name LIKE "%abc%") SELECT id, SUM(value) FROM subquery2 GROUP BY id

但是当我运行这个查询时,我得到了一些空值作为总和:

WITH subquery1 AS (SELECT * FROM some_data WHERE value > 0), subquery2 AS (SELECT * FROM subquery1 WHERE name LIKE "%abc%"), subquery3 AS (SELECT id, SUM(value) FROM subquery2 GROUP BY id) SELECT * FROM subquery3

这两个查询实际上是相同的。所以我很困惑为什么我会从两者中得到不同的结果。

标签: google-bigquery

解决方案


推荐阅读