google-bigquery - 具有不同结果的 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
这两个查询实际上是相同的。所以我很困惑为什么我会从两者中得到不同的结果。
解决方案
推荐阅读
- ios - UITextView 中的光标未对齐?
- excel - Excel how to get the last 8 charcters string from another Sheet
- projection - 太多不必要的事件
- javascript - jQuery 在 remove() 之后取消选中复选框;
- java - java.net.URI().getPath() return null while the string contains colon?
- python-3.x - 如何在 Python 中将文本文件转换为图像文件?
- python - TypeError: sequence item 1: expected str instance, int found when flattening MultiIndex pandas column
- sql - 连接 SQL 查询错误
- javascript - 如何检查对象的字段是否与JS中的特定值匹配
- python - python中的范围函数