我只想拥有 1 个包含全年数据的大表,这样我就可以同时操纵全年,而不必重复相同的过程 12 次。
我认为这将是一个简单的内部联接,但这只是复制彼此相邻的行(例如一月和二月),而不是堆叠到各自的列中。所有列都完全相同。
我对你在做什么几乎一无所知,但是 - 对我来说 - 数据模型看起来错误。首先应该只有一个表,而日期列将用于区分不同的月份。此外,如果您希望使用全年的数据 - 我希望您不会为明年(以及未来的每一年)创建另一组 12 个表。
无论如何:假设表的描述是相同的,然后您可以使用并集运算符将所有数据放在一起。不过,不要在以后要编写的每个查询中执行此操作,而是考虑创建一个视图,例如
create view v_data as
select id, name, address, month, amount from january
union all
select id, name, address, month, amount from february
union all
...
select id, name, address, month, amount from december;
然后您只需在查询中使用该视图,例如
select sum(amount)
from v_data
where month in (1, 3, 8)