表结构相同,表名不同,如何一次性查询多张表中数据?

[复制链接]
查看11 | 回复7 | 2012-5-21 10:19:41 | 显示全部楼层 |阅读模式
表结构都包含class_no,stu_name,sex,age
但表名不同,但有规律,形如:stu_info01,stu_info02,以此类推
请问如何查询所有stu_info**表中class_no相同的数据?
用union貌似效率太低了点。
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
用union,那我要同时查询100张这样的表,岂不是效率相当低?
还有什么更好的方法不??
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
你把这么多表用交换分区的办法变成分区表就效率高了
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
请问楼主,为什么说用union貌似效率太低,通过什么依据做出的这一判断~
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
原帖由 junsansi 于 2009-8-19 13:44 发表
请问楼主,为什么说用union貌似效率太低,通过什么依据做出的这一判断~

我猜他的意思是写sql代码的效率太低,要写很多个表名
他希望select * from stu_info** where date=...
[ 本帖最后由 〇〇 于 2009-8-19 14:02 编辑 ]
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
是的,正如你所说。
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
LZ可以动态构造一个SQL语句然后执行,构造动态语句的查询语句如下
SELECT REPLACE(WMSYS.WM_CONCAT(STR),',',' UNION ') FROM
(SELECT 'SELECT class_no,stu_name,sex,age FROM ' || TABLE_NAME STR FROM USER_TABLES)
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
也可以写一个存储过程(参数=stu_info__ 或stu_info%)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行