Noa*_*son 1 sql google-bigquery
我正在 google Big Query 上进行查询,并尝试添加一个变量表,以便更轻松地更改我的查询选择的内容,但在进行查询时遇到以下错误:
Cannot execute IN subquery with uncomparable types INT64 and STRUCT<INT64, INT64>
查询为:
WITH vars AS (
SELECT (3,6) as ids
)
SELECT id FROM users
WHERE id IN (SELECT ids FROM vars);
Run Code Online (Sandbox Code Playgroud)
这很令人困惑,因为我认为这正是IN子查询的用途。我不明白为什么该查询失败,而以下查询工作正常:
SELECT id FROM users
WHERE id IN (3,6);
Run Code Online (Sandbox Code Playgroud)
这里有什么问题,有解决办法吗?
我最喜欢/最简单的解决初始查询的方法:
WITH vars AS (
SELECT [3,6] as ids
)
SELECT i FROM `fh-bigquery.public_dump.numbers_255`
WHERE i IN UNNEST((SELECT ids FROM vars));
Run Code Online (Sandbox Code Playgroud)
秘密:
[]而不是()返回一个数组。UNNEST().| 归档时间: |
|
| 查看次数: |
2084 次 |
| 最近记录: |