O
&&
operador não suporta NULL
valores. Então, você precisa de outra abordagem. Por exemplo, você pode unir os dados à tabela primeiro. Isso fornece o id
s que estão vinculados aos seus dados necessários. Na segunda etapa você pode arrecadar todos os valores usando estes id
s. demonstração passo a passo:db<>fiddle
SELECT
id,
ARRAY_AGG(session_os) -- 4
FROM t
WHERE id IN ( -- 3
SELECT
id
FROM
t
JOIN (
SELECT unnest(ARRAY[1, null]) as a -- 1
)s ON s.a IS NOT DISTINCT FROM t.session_os -- 2
)
GROUP BY id
- Crie uma tabela ou resultado de consulta que contenha seus dados relevantes, incl. o
NULL
valor. - Você pode juntar os dados, incl. o
NULL
valor, usando o operadorIS NOT DISTINCT FROM
, que considera oNULL
. - Agora você obteve o
id
relevante valores que podem ser usados noWHERE
filtro - Finalmente você pode fazer sua agregação