从PostgreSQL数组中获取唯一值



这似乎是直截了当的,但我只是不能弄清楚。我有一个查询,在其中一列中返回字符串的ARRAY。我希望这个数组只包含唯一字符串。以下是我的查询:

SELECT
f."_id",
ARRAY[public.getdomain(f."linkUrl"), public.getdomain(f."sourceUrl")] AS file_domains,
public.getuniqdomains(s."originUrls", s."testUrls") AS source_domains
FROM
files f
LEFT JOIN
sources s
ON
s."_id" = f."sourceId"

下面是我的返回表

中的一行示例
<表类>_idfile_domainssource_domainstbody><<tr>2574873{cityofmontclair.org, cityofmontclair.org}{cityofmontclair.org}

使用CASE表达式:

CASE WHEN public.getdomain(f."linkUrl") = public.getdomain(f."sourceUrl")
THEN ARRAY[public.getdomain(f."linkUrl")]
ELSE ARRAY[public.getdomain(f."linkUrl"), public.getdomain(f."sourceUrl")]
END

相关内容

  • 没有找到相关文章

最新更新