Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- WITH upd AS (
- UPDATE target t
- SET counter = t.counter + s.counter,
- FROM source s
- WHERE t.id = s.id
- RETURNING s.id
- )
- INSERT INTO target(id, counter)
- SELECT id, sum(counter)
- FROM source s LEFT JOIN upd t USING(id)
- WHERE t.id IS NULL
- GROUP BY s.id
- RETURNING t.id
Add Comment
Please, Sign In to add comment