1
我有一個包含網絡資產的數據庫,每個資產可以有多個主機名。有時候,我們會錯誤地爲同一臺機器創建兩個記錄,然後必須「合併」這些資產。其中一部分是結合他們的主機名單。在PostgreSQL中連接varchar [],保持不同的值
我當前的解決方案涉及到合併後的資產hostnames
字段設置爲以下選擇:
SELECT array_agg(DISTINCT host)
FROM (
SELECT unnest(hostnames)
FROM asset
WHERE asset.id IN (?, ?)
) AS bothassets(host);
(見SQL Fiddle)
是否有表示相同的「獨特數組值」一個更清潔的方式PSQL中的邏輯?組合數組的順序對我來說並不重要,但我不能讓它包含兩次相同的值。