一个表字母表具有列值nvarchar,值为(A、B、C、D、E、F、G、H(我们有另一个与上一个表链接的表,这个表有一列其具有值(C、H(。
因此这两个值将从前面的表列中删除。
ID | 值 |
---|---|
1 | A、B、C、D、E、F、G、H、I、J、K、L、M |
2 | A、C、F、G、H、J、U、V、W、X、Y、Z |
示例查询:
select
t1.id,
string_agg(t1.val1, ',') as "values"
from
(select "id", unnest(('{' || "values" || '}')::text[]) as val1 from table1
) as t1
left join
(select "id", unnest(('{' || "values" || '}')::text[]) val2 from table2
) t2 on t1.id = t2.id and t1.val1 = t2.val2
where t2.id is null
group by t1.id
-- Return:
id values
---------------------------------
1 B,D,E,G,H,I,J,K,L,M
2 A,C,F,G,H,X,J,U,V,W,Y,Z