Skip to content

Instantly share code, notes, and snippets.

@germanow
Created November 28, 2018 06:47
Show Gist options
  • Save germanow/a812be3e442aeee64579fc8d5bd11fb4 to your computer and use it in GitHub Desktop.
Save germanow/a812be3e442aeee64579fc8d5bd11fb4 to your computer and use it in GitHub Desktop.
WITH RECURSIVE
r_back AS (
SELECT fw.id, fw."previousWorkId"
FROM "FieldWork" AS fw
WHERE fw.id = 640
UNION ALL
SELECT fw.id, fw."previousWorkId"
FROM "FieldWork" as fw
JOIN r_back
ON fw.id = r_back."previousWorkId"
),
r_forward AS (
SELECT fw.id, fw."previousWorkId"
FROM "FieldWork" AS fw
WHERE fw.id = 640
UNION ALL
SELECT fw.id, fw."previousWorkId"
FROM "FieldWork" as fw
JOIN r_forward
ON fw."previousWorkId" = r_forward.id
)
SELECT * FROM r_back
UNION
SELECT * FROM r_forward;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment