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

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
头像
百草谷居士
帖子: 3910
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

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

#1

帖子 百草谷居士 » 2018-07-03 6:06

在一个数据库中,有许多结构相同的表,是按月储存数据的,现在需要对多个年度的数据进行处理,每次要在重复在几十个表中执行查询操作太麻烦,有什么简单的方法把这些表构建成一个查询?
注:对数据库只有查询权限,没有写权限,不能创建视图和存储过程
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
astolia
论坛版主
帖子: 6396
注册时间: 2008-09-18 13:11

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

#2

帖子 astolia » 2018-07-03 10:35

基本的办法就是用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
头像
百草谷居士
帖子: 3910
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

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

#3

帖子 百草谷居士 » 2018-07-03 14:59

MS SQL中有啥简单的处理办法没有?
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
astolia
论坛版主
帖子: 6396
注册时间: 2008-09-18 13:11

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

#4

帖子 astolia » 2018-07-03 17:38

sql server 2005+也支持自动化的按条件分表,但同样需要在创建表时就弄好。看你的描述是非常传统的手工分表方式,如果没法让dba改造表结构,那只能用union了。
头像
oneleaf
论坛管理员
帖子: 10441
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04

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

#5

帖子 oneleaf » 2018-07-03 18:50

可以考虑用视图
头像
百草谷居士
帖子: 3910
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

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

#6

帖子 百草谷居士 » 2018-07-04 6:28

没有写权限,无法创建视图。
三年半,共计42个月,真有个搞头。
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
回复