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