Filtrage des tableaux à l’aide d’UNNEST
Pour filtrer un tableau qui inclut une structure imbriquée par l'un de ses éléments enfants, émettez une requête avec un opérateur UNNEST. Pour en savoir plus sur UNNEST, consultez Aplatissement de tableaux imbriqués.
Par exemple, cette requête retrouve les noms d'hôte des sites dans le jeu de données.
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
Elle renvoie :
+------------------------+
| hostname | isnew |
+------------------------+
| aws.amazon.com | true |
+------------------------+