有沒有辦法在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清楚。儘管他的回答似乎表現出稍微深刻的想法,但你的回答對我的目的來說也足夠了。感謝您的及時答覆! –
呃!鱗片從我眼中掉下來!非常感謝! –