我有这个postgres表:
CREATE TABLE News (
tags text[](10),
contract varchar(40),
...others
);
我需要获得给定合同的所有不同标签。我发现postgresql请求运行良好:
SELECT array_agg(acc)
FROM (
SELECT DISTINCT unnest(tags::text[])
FROM my_schema.news
WHERE contract = 'acontract'
) AS dt(acc);
当我使用spring数据jpa时,我尝试将此请求转换为HSQL请求,但我无法使其工作。关于转换可能是什么的任何想法?
答案 0 :(得分:1)
除SET DATABASE SQL SYNTAX PGS TRUE
外,您还需要根据SQL标准引用数组。
CREATE TABLE News (tags text array[10], contract varchar(40))
然后
select array_agg(acc) from (
select distinct acc from news, unnest(tags) un(acc)
WHERE contract = 'acontract'
)