有没有办法在Postgresql中设置两个数组的标志? 我想是这样的:我如何从Postgresql中的数组构建标志集?
array1[] = {'aa', 'bb', 'cc', 'dd'}
array2[] = {'aa', 'cc'}
result[] = {'aa', '--', 'cc', '--'}
它应该很容易,如果只是一个路口,但我需要明确的“不公共”了。
预先感谢您!
有没有办法在Postgresql中设置两个数组的标志? 我想是这样的:我如何从Postgresql中的数组构建标志集?
array1[] = {'aa', 'bb', 'cc', 'dd'}
array2[] = {'aa', 'cc'}
result[] = {'aa', '--', 'cc', '--'}
它应该很容易,如果只是一个路口,但我需要明确的“不公共”了。
预先感谢您!
select array_agg(case
when a1.id is null or a2.id is null then '--'
else a1.id
end)
from unnest(array['aa', 'bb', 'cc', 'dd']) as a1(id)
left join unnest(array['aa', 'cc']) as a2(id) on a1.id = a2.id
我有这样的:
SELECT
array_agg(flag_value)
FROM (
SELECT
CASE WHEN array_value = ANY (ARRAY['aa', 'cc']) THEN
array_value
ELSE
'--'
END AS flag_value
FROM
unnest(ARRAY['aa', 'bb', 'cc', 'dd']) AS array_value
) AS X;
你的做法是为a_horse_with_no_name清楚。尽管他的回答似乎表现出稍微深刻的想法,但你的回答对我的目的来说也足够了。感谢您的及时答复! –
呃!鳞片从我眼中掉下来!非常感谢! –