Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR REPLACE FUNCTION array_sort_unique (ANYARRAY) RETURNS ANYARRAY
- LANGUAGE SQL
- AS $body$
- SELECT ARRAY(
- SELECT DISTINCT $1[s.i]
- FROM generate_series(array_lower($1,1), array_upper($1,1)) AS s(i)
- ORDER BY 1
- );
- $body$;
- UPDATE
- stamp
- SET
- same_series = (
- SELECT array_to_json(
- array_sort_unique(
- ARRAY(
- SELECT
- ss.catalogue_code
- FROM
- same_series ss
- WHERE
- ss.link_id IS NULL
- AND
- ss.stamp_id = ps.id
- UNION
- SELECT
- s.catalogue_code
- FROM
- same_series ss
- INNER JOIN
- stamp s ON ss.link_id = s.id
- WHERE
- ss.stamp_id = ps.id
- )
- )
- )
- )
- FROM
- stamp ps
- WHERE
- ps.id in (
- SELECT
- DISTINCT stamp_id
- FROM
- same_series
- )
- ;
- DROP FUNCTION IF EXISTS array_sort_unique(ANYARRAY);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement