&&
операторът не поддържа NULL
стойности. Така че имате нужда от друг подход. Например можете първо да присъедините данните към таблицата. Това ви дава id
s, които са свързани с необходимите ви данни. На втората стъпка можете да арегирате всички стойности, като използвате тези id
с.
демонстрация стъпка по стъпка: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
- Създайте таблица или резултат от заявка, която съдържа вашите подходящи данни, вкл.
NULL
стойност. - Можете да присъедините данните, вкл.
NULL
стойност, използвайки оператораIS NOT DISTINCT FROM
, който разглеждаNULL
. - Сега сте извлекли съответния
id
стойности, които могат да се използват вWHERE
филтър - Най-накрая можете да извършвате агрегирането си