分页: 1 / 1

求助:对多个结构相同的表进行查询

发表于 : 2018-07-03 6:06
百草谷居士
在一个数据库中,有许多结构相同的表,是按月储存数据的,现在需要对多个年度的数据进行处理,每次要在重复在几十个表中执行查询操作太麻烦,有什么简单的方法把这些表构建成一个查询?
注:对数据库只有查询权限,没有写权限,不能创建视图和存储过程

Re: 求助:对多个结构相同的表进行查询

发表于 : 2018-07-03 10:35
astolia
基本的办法就是用union

代码: 全选

select a, b, c from (
select a, b, c from t1
union
select a, b, c from t2) t0
where a > 0 and b < 0;
另外根据dbms的不同,可能会有更简单的处理方式。
比如postgresql 9.3+,如果创建表时就用了它提供的分表功能的话,后续查询直接对母表select就行了,postgresql会自动查询各个分表的数据 https://www.postgresql.org/docs/9.3/sta ... oning.html
又比如mysql 5.6.2+,用它的分表功能,查询时直接指定需要的分表名称 https://dev.mysql.com/doc/refman/5.6/en ... ction.html

Re: 求助:对多个结构相同的表进行查询

发表于 : 2018-07-03 14:59
百草谷居士
MS SQL中有啥简单的处理办法没有?

Re: 求助:对多个结构相同的表进行查询

发表于 : 2018-07-03 17:38
astolia
sql server 2005+也支持自动化的按条件分表,但同样需要在创建表时就弄好。看你的描述是非常传统的手工分表方式,如果没法让dba改造表结构,那只能用union了。

Re: 求助:对多个结构相同的表进行查询

发表于 : 2018-07-03 18:50
oneleaf
可以考虑用视图

Re: 求助:对多个结构相同的表进行查询

发表于 : 2018-07-04 6:28
百草谷居士
没有写权限,无法创建视图。
三年半,共计42个月,真有个搞头。