&& toán tử không hỗ trợ NULL các giá trị. Vì vậy, bạn cần một cách tiếp cận khác. Ví dụ, bạn có thể nối dữ liệu vào bảng trước. Điều này cung cấp cho bạn id s được liên kết với dữ liệu yêu cầu của bạn. Ở bước thứ hai, bạn có thể tổng hợp tất cả các giá trị bằng cách sử dụng id này s.
bản trình diễn từng bước: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
- Tạo một bảng hoặc kết quả truy vấn chứa dữ liệu có liên quan của bạn, bao gồm
NULLgiá trị. - Bạn có thể kết hợp dữ liệu, bao gồm
NULLgiá trị, sử dụng toán tửIS NOT DISTINCT FROM, coiNULL. - Bây giờ bạn đã tìm nạp
idcó liên quan các giá trị có thể được sử dụng trongWHEREbộ lọc - Cuối cùng, bạn có thể thực hiện việc tổng hợp của mình