&&
operátor nepodporuje NULL
hodnoty. Takže potřebujete jiný přístup. Můžete například nejprve spojit data do tabulky. Tím získáte id
s, které jsou propojeny s vašimi požadovanými údaji. Ve druhém kroku jste schopni agregovat všechny hodnoty pomocí těchto id
s.
demonstrace krok za krokem:db<>housle
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
- Vytvořte tabulku nebo výsledek dotazu, který bude obsahovat vaše relevantní data, vč.
NULL
hodnotu. - Můžete připojit data, vč.
NULL
hodnotu pomocí operátoruIS NOT DISTINCT FROM
, který bere v úvahuNULL
. - Nyní jste získali relevantní
id
hodnoty, které lze použít vWHERE
filtr - Konečně můžete provést agregaci