Skip to content

Instantly share code, notes, and snippets.

@edivandecastro
Last active August 29, 2015 14:21
Show Gist options
  • Save edivandecastro/950f0f05d8b87658cb98 to your computer and use it in GitHub Desktop.
Save edivandecastro/950f0f05d8b87658cb98 to your computer and use it in GitHub Desktop.
-- get all latest the finished progresses of all individuals
SELECT *
FROM progresses pr
WHERE id = (
SELECT id
FROM progresses p
WHERE p.individual_id = pr.individual_id AND p.procedure_id = pr.procedure_id AND p.finished
ORDER BY p.created_at DESC LIMIT 1 )
ORDER BY pr.created_at DESC;
-- get all latest the finished progresses of one individual
SELECT *
FROM progresses pr
WHERE pr.id = (
SELECT p.id
FROM progresses p
INNER JOIN procedures pc ON pc.individual_id = 1 AND p.procedure_id = pc.id
WHERE p.individual_id = 1 AND p.procedure_id = pr.procedure_id AND p.finished
ORDER BY p.created_at DESC LIMIT 1 )
ORDER BY pr.created_at DESC;
-- get all latest the not finished progresses of all individuals
SELECT *
FROM progresses pr
WHERE id = (
SELECT id
FROM progresses p
WHERE p.individual_id = pr.individual_id AND p.procedure_id = pr.procedure_id AND NOT p.finished
ORDER BY p.created_at DESC LIMIT 1 )
ORDER BY pr.created_at DESC;
-- get all latest the not finished progresses of one individual
SELECT *
FROM progresses pr
WHERE id = (
SELECT id
FROM progresses p
WHERE p.individual_id = 1 AND p.procedure_id = pr.procedure_id AND NOT p.finished
ORDER BY p.created_at DESC LIMIT 1 )
ORDER BY pr.created_at DESC;
@edivandecastro
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment