Ich muss eine bestimmte Aufgabe mit den folgenden Kriterien aus dem Dokument auswählen:
- Status 101: maximale Version des Dokuments abrufen
- Status 102: beliebige Version abrufen, egal um welche Version es sich handelt (und 102 gegenüber 101 bevorzugen)
Code: Select all
select task, document.id from Task task
join Document document on task.uuid = document.taskUuid
where (
document.status = 102
or (document.status = 101
and document.wersjaNumer =
(select max(sub.wersjaNumer) from Document sub
where sub.numerUuid = document.numerUuid)
)
)
order by case when document.status=102 then 1 else 2 end
Also hier:
Code: Select all
Task(uuid = "xxx")
Document(taskUuid = "xxx", status=101)
Document(taskUuid = "xxx", status=102)
Code: Select all
order by case when document.status=102 then 1 else 2 end
Mobile version