Мне нужно выбрать из документа одну отдельную задачу со следующими критериями:
- статус 101: получить максимальную версию документа
- статус 102: получить любую, независимо от того, какая это версия (и предпочесть 102, а не 101)
Код: Выделить всё
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
Итак, здесь:
Код: Выделить всё
Task(uuid = "xxx")
Document(taskUuid = "xxx", status=101)
Document(taskUuid = "xxx", status=102)
order by case when document.status=102 then 1 else 2 end часть. Есть идеи, как это исправить?
Подробнее здесь: https://stackoverflow.com/questions/797 ... conditions
Мобильная версия