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
NULLvalor. - Você pode juntar os dados, incl. o
NULLvalor, usando o operadorIS NOT DISTINCT FROM, que considera oNULL. - Agora você obteve o
idrelevante valores que podem ser usados noWHEREfiltro - Finalmente você pode fazer sua agregação