Google bigquery 我的查询有一个不在,突然停止显示结果

Google bigquery 我的查询有一个不在,突然停止显示结果,google-bigquery,Google Bigquery,我有一个每天运行的查询,它突然停止输出结果。它不会输出错误,只是没有结果 请注意,此查询包含一个不在运算符。这是一个已知的不在行为问题,请查看它的MySQL版本: 使用BigQuery: WITH data AS ( SELECT * FROM UNNEST([1,2,3]) x ), data2 AS ( SELECT * FROM UNNEST([1,2]) x ) SELECT * FROM data WHERE x NOT IN (SELECT * FROM data2)

我有一个每天运行的查询,它突然停止输出结果。它不会输出错误,只是没有结果


请注意,此查询包含一个
不在
运算符。

这是一个已知的
不在
行为问题,请查看它的MySQL版本:

使用BigQuery:

WITH data AS (
  SELECT * FROM UNNEST([1,2,3]) x
), data2 AS (
  SELECT * FROM UNNEST([1,2]) x
)

SELECT * FROM data
WHERE x NOT IN (SELECT * FROM data2)

3
但如果data2中有空值:

WITH data AS (
  SELECT * FROM UNNEST([1,2,3]) x
), data2 AS (
  SELECT * FROM UNNEST([1,2,null]) x
)

SELECT * FROM data
WHERE x NOT IN (SELECT * FROM data2)

# no results
相反,您可以执行
左联接
,或者
不存在

WITH data AS (
  SELECT * FROM UNNEST([1,2,3]) x
), data2 AS (
  SELECT * FROM UNNEST([1,2]) x
)

SELECT * FROM data a
WHERE NOT EXISTS (SELECT * FROM data2 b WHERE a.x=b.x)

3