Il &&
l'operatore non supporta NULL
i valori. Quindi, hai bisogno di un altro approccio. Ad esempio, potresti prima unire i dati alla tabella. Questo ti dà l'id
s che sono collegati ai dati richiesti. Nel secondo passaggio puoi arretrare tutti i valori usando questi id
s.
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
- Crea una tabella o un risultato di query che contenga i tuoi dati rilevanti, incl. il
NULL
valore. - Puoi unire i dati, incl. il
NULL
valore, utilizzando l'operatoreIS NOT DISTINCT FROM
, che considera ilNULL
. - Ora hai recuperato l'
id
pertinente valori che possono essere utilizzati inWHERE
filtro - Finalmente puoi fare la tua aggregazione