C>Это должно быть одно выражение или несколько? ANSI SQL или можно пользоваться современными расширениями типа Common Table Expression?
Ограничений с моей стороны не ставится. Лично мои критерии — 1) краткость и 2) понятность (читабельность).
В одно SQL-выражение не уверен, что возможно, но посмотреть было бы интересно.
Если через СТЕ собираетесь делать рекурсию — то нежелательно.
Но если это даст более красивое и понятное решение, чем на ANSI SQL — то ОК. Сравним.