2

我有 20 个表,我想对所有表执行相同的查询。随后,我想将所有查询的结果添加到一个新表中。表格包括温度、坐标和时间日期列。查询是关于创建每个表的子集。生成的新表应包含每个查询的结果。换句话说,它应该包括上述 3 列,这些列由来自不同表的查询结果填充。

上述代码应适用于所有表格。是:

select *
FROM s3
WHERE dt::timestamptz BETWEEN DATE '2007-09-14' AND DATE '2007-10-03' 
  AND extract(hour FROM dt::timestamptz) BETWEEN 8 AND 20
ORDER BY dt

因此,应该有一个新表,其中包括相对于所有表的查询输出的温度、坐标和 time_date 列。注意:填充顺序在新表中并不重要。

4

1 回答 1

1

你总是可以使用union all

create table T as
select * from ...
union all
select * from ...
union all
...
于 2012-11-27T12:24:41.940 回答