我在 BigQuery 中有以下架构:
整个表格如下所示:
SELECT * FROM `...nested`
Run Code Online (Sandbox Code Playgroud)
我现在只想查询所有带有标题为“你好”的评论的行,我正在思考如何做到这一点。
SELECT * FROM `...nested` WHERE comments.title = 'Hello'
# Error: Cannot access field title on a value with type ARRAY<STRUCT<title STRING, message STRING>> at [1:69]
SELECT * FROM `...nested` WHERE comments.title IN ('Hello')
# Error: Cannot access field title on a value with type ARRAY<STRUCT<title STRING, message STRING>> at [1:69]
Run Code Online (Sandbox Code Playgroud)
comment.title CONTAINS "Hello" 似乎是可用的旧 SQL,所以我想知道等价物是什么。
尝试这个:
SELECT *
FROM dataset.nested
WHERE EXISTS (
SELECT 1 FROM UNNEST(comments)
WHERE title = 'Hello'
)
Run Code Online (Sandbox Code Playgroud)
这将返回至少一条评论的标题为 Hello 的所有行。例如,您还可以使用LIKE代替等式来查找子字符串。有关使用数组的更多信息,请参阅相关文档。
| 归档时间: |
|
| 查看次数: |
6402 次 |
| 最近记录: |