【发布时间】:2020-01-07 15:01:19
【问题描述】:
我正在尝试编写一个更高效的 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 结果放在一起(例如,这样我就不必重复 sn-p 超过 25 次)?
【问题讨论】:
标签: postgresql performance loops union-all