Я пытаюсь написать более эффективный PostgreSQL запрос, который объединит подобные атрибуты в многочисленных таблицах. Контекст заключается в том, что в базе данных есть отдельные таблицы результатов для разных оценок, и я пытаюсь посмотреть на результаты по всем оценкам. В настоящий момент, например, у меня есть одна таблица, в которой хранятся имена всех таблиц оценки:
| tables |
|---------|
| table_a |
| table_b |
| table_c |
И я агрегирую результаты, используя этот запрос (на самом деле, я агрегирую для 25+ разных таблиц):
SELECT person_id, subject_id, outcome
FROM table_a
UNION ALL
SELECT person_id, subject_id, outcome
FROM table_b
UNION ALL
SELECT person_id, subject_id, outcome
FROM table_c
Существует ли PostgreSQL подход к циклическому выполнению одного и того же оператора SELECT по нескольким таблицам, а затем к объединению результатов UNION ALL (например, чтобы мне не пришлось повторять фрагмент выше 25+ раз)?