ネスト構造を含む配列を、そのいずれかの子要素でフィルタ処理するには、UNNEST
演算子を使用してクエリを発行します。UNNEST
の詳細については、「ネスト配列のフラット化」を参照してください。
例えば、このクエリは、データセット内のサイトのホスト名を見つけます。
WITH dataset AS (
SELECT ARRAY[
CAST(
ROW('aws.amazon.com', ROW(true)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN))
),
CAST(
ROW('news.cnn.com', ROW(false)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN))
),
CAST(
ROW('netflix.com', ROW(false)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN))
)
] as items
)
SELECT sites.hostname, sites.flaggedActivity.isNew
FROM dataset, UNNEST(items) t(sites)
WHERE sites.flaggedActivity.isNew = true
返される結果は次のとおりです。
+------------------------+
| hostname | isnew |
+------------------------+
| aws.amazon.com | true |
+------------------------+