Поиск грамотного решения по SQL

Всем привет, представим, что есть таблица матчей со следующими столбцами: дата, команда хозяев, команда гостей, количество голов хозяев, количество голов гостей. В каждом матче необходимо вывести голы за последние 5 матчей команды хозяев и голы за последние 5 матчей команды гостей (всего 10 дополнительных столбцов). Я решаю это следующим образом:

  1. Делаю вывод даты, команды хозяев, количества голов хозяев, затем через union объединяю с выводом даты, командой гостей и количеством голов гостей.
  2. В получившемся результате через оконную функцию вывожу интересующие данные по голам в последних 5 играх.
  3. Джойню итоговый результат к основной таблице. Собственно вопрос, существует ли более аккуратный способ решения? Такой, чтобы не громоздить подзапросы; что-то вроде оконной функции, осуществляющей поиск по 2 столбцам (в данном случае хозяев и гостей) с выводом соответствующего результата (голы хозяев или гостей).

Ответы (0 шт):