表 table01:
date mat_wt mat_name
20110101 100 A
20110101 200 A
20110102 100 B
20110102 100 C
20110103 300 C
20110103 200 B
表 table02:
date mat_wt mat_name
20110101 100 D
20110101 200 E
20110102 100 F
20110103 100 D
20110104 300 A
20110104 200 E
表 table03:
date mat_wt mat_name
20110101 100 E
20110102 200 G
20110103 100 H
20110104 100 G
20110104 300 A
20110105 200 H
先要求按照date,mat_name来求得mat_wt.
date mat_wt mat_name
20110101 100 A
20110101 200 A
20110102 100 B
20110102 100 C
20110103 300 C
20110103 200 B
表 table02:
date mat_wt mat_name
20110101 100 D
20110101 200 E
20110102 100 F
20110103 100 D
20110104 300 A
20110104 200 E
表 table03:
date mat_wt mat_name
20110101 100 E
20110102 200 G
20110103 100 H
20110104 100 G
20110104 300 A
20110105 200 H
先要求按照date,mat_name来求得mat_wt.
解决方案 »
- oracle 数据导出问题
- 关于同学录系统的数据库设计
- 调用存储过程传集合参数, 空值
- oracle打开游标后,怎样输出游标中的所有值
- 利用prepareCall执行数据库存储过程时,如何接受多个输出参数?
- 高分请各位大虾指点一下
- 急~~~~~~~寻求高手出山,用存储过程实现对两张结构相同\主键编号相同表进行比较,将比较后结果不同的字段及内容放在临时表中,并能显示出来.
- 大家帮我检查一下这个过程是否写的正确。
- pb环境,同样的sql在ms sql server执行正常但是在oracle中无数据,为何?谢谢帮助
- 【急急急】预发布环境编写为存储过程实现总是报错——在线等
- 求一个SQL函数,实现group相关功能
- java 中调用oracle 存储过程到execute()就不执行了
from table
group by date,mat_name;
就是说三个表联合起来啊,然后按照date,mat_name来求mat_wt啊我自己写了一下语句,不晓得对不对啊
select date,mat_name,sum(mat_wt)
from
(
select date,mat_name, sum(mat_wt)
from table01
group by date,mat_name union all select date,mat_name, sum(mat_wt)
from table02
group by date, mat_name union all select date,mat_name, sum(mat_wt)
from table03
group by date,mat_name
) group by date,mat_name
from
(
select date,mat_name, mat_wt
from table01 union all select date,mat_name,mat_wt
from table02 union all select date,mat_name, mat_wt
from table03
) group by date,mat_name
就是说三张表中同date,同mat_name, 最后都是做一个统计啊
比如
20110101 200 E 来自表table02
20110101 100 E 来自表table03那最后就是20110101 E 300。
效率高