在array_agg嵌套在array_concat中时,使用IFNULL函数或CASE语句来替代忽略空值。 以下是示例代码:
SELECT array_concat(
ARRAY(
SELECT
CASE WHEN COUNT(DISTINCT email) > 1 THEN array_agg(DISTINCT email) ELSE email END
FROM
table
)
) AS emails
或
SELECT array_concat(
ARRAY(
SELECT
array_agg(IFNULL(email, ''))
FROM
table
WHERE
email IS NOT NULL
)
) AS emails