El &&
el operador no admite NULL
valores. Entonces, necesitas otro enfoque. Por ejemplo, podría unir los datos a la tabla primero. Esto te da el id
s que están vinculados a sus datos requeridos. En el segundo paso, puede ordenar todos los valores utilizando estos id
s.
demostración paso a paso: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
- Cree una tabla o un resultado de consulta que contenga sus datos relevantes, incl. el
NULL
valor. - Puede unir los datos, incl. el
NULL
valor, usando el operadorIS NOT DISTINCT FROM
, que considera elNULL
. - Ahora ha obtenido el
id
relevante valores que se pueden usar enWHERE
filtrar - Finalmente puede hacer su agregación