Der &&
Operator unterstützt NULL
nicht Werte. Sie brauchen also einen anderen Ansatz. Beispielsweise könnten Sie die Daten zuerst mit der Tabelle verknüpfen. Dadurch erhalten Sie die id
s, die mit Ihren gewünschten Daten verknüpft sind. Im zweiten Schritt können Sie alle Werte mit dieser id
arrangieren s.
Schritt-für-Schritt-Demo: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
- Erstellen Sie eine Tabelle oder ein Abfrageergebnis, das Ihre relevanten Daten enthält, inkl. der
NULL
Wert. - Sie können die Daten inkl. der
NULL
-Wert mit dem OperatorIS NOT DISTINCT FROM
, der denNULL
berücksichtigt . - Jetzt haben Sie die relevante
id
abgerufen Werte, die imWHERE
verwendet werden können filtern - Endlich können Sie Ihre Aggregation durchführen