

# Filtrar matrizes com valores aninhados
<a name="filtering-nested-with-dot"></a>

Matrizes grandes normalmente contêm estruturas aninhadas, e você precisa ser capaz de filtrar ou pesquisar valores dentro delas.

Para definir um conjunto de dados para uma matriz de valores que inclui um valor `BOOLEAN` aninhado, execute esta consulta:

```
WITH dataset AS (
  SELECT
    CAST(
      ROW('aws.amazon.com', ROW(true)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN))
    ) AS sites
)
SELECT * FROM dataset
```

Ela retorna este resultado:

```
+----------------------------------------------------------+
| sites                                                    |
+----------------------------------------------------------+
| {HOSTNAME=aws.amazon.com, FLAGGEDACTIVITY={ISNEW=true}}  |
+----------------------------------------------------------+
```

Em seguida, para filtrar e acessar o valor `BOOLEAN` desse elemento, continue usando a notação `.`

```
WITH dataset AS (
  SELECT
    CAST(
      ROW('aws.amazon.com', ROW(true)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN))
    ) AS sites
)
SELECT sites.hostname, sites.flaggedactivity.isnew
FROM dataset
```

Essa consulta seleciona os campos aninhados e retorna este resultado:

```
+------------------------+
| hostname       | isnew |
+------------------------+
| aws.amazon.com | true  |
+------------------------+
```