\set ECHO none \pset format unaligned CREATE TABLE union_result AS SELECT *,sr_formula(provenance(),'personnel_name') AS formula FROM ( SELECT classification FROM personnel WHERE city='Paris' UNION SELECT classification FROM personnel ) t; SELECT remove_provenance('union_result'); SELECT classification,replace(formula,'Paul ⊕ Nancy','Nancy ⊕ Paul') AS formula FROM union_result ORDER BY classification; DROP TABLE union_result; CREATE TABLE union_result AS SELECT *,formula(provenance(),'personnel_name') AS formula FROM ( SELECT FROM personnel WHERE city='Paris' UNION SELECT FROM personnel ) t; SELECT remove_provenance('union_result'); SELECT * FROM union_result; DROP TABLE union_result; -- A non-ALL UNION whose branches have a provsql column followed by other -- columns: the columns of the deduplicating GROUP BY are those left. CREATE TABLE union_result AS SELECT a.id, a.provsql, b.name FROM personnel a JOIN personnel b ON a.id = b.id UNION SELECT a.id, a.provsql, b.name FROM personnel a JOIN personnel b ON a.id = b.id; SELECT remove_provenance('union_result'); SELECT * FROM union_result ORDER BY id; DROP TABLE union_result;