我公司一报表倒出的格式如下:
工人 日期 时间 金额
小张 2009-08-01 08:00 5
09:00 7
10:00 9
11:00 6
12:00 2
2009-08-02 08:00 6
09:00 5
10:00 8
11:00 5
12:00 5
小曹 2009-08-01 08:00 6
09:00 4
10:00 5
11:00 7
12:00 9
2009-08-02 08:00 2
09:00 8
................................ 因业务需要,想转换成以下格式 小张 2009-08-01 08:00 5
小张 2009-08-01 09:00 7
小张 2009-08-01 10:00 9
小张 2009-08-01 11:00 6
小张 2009-08-01 12:00 2
小张 2009-08-02 08:00 6
小张 2009-08-02 09:00 5
小张 2009-08-02 10:00 8
小张 2009-08-02 11:00 5
小张 2009-08-02 12:00 5
小曹 2009-08-01 08:00 6
小曹 2009-08-01 09:00 4
小曹 2009-08-01 10:00 5
小曹 2009-08-01 11:00 7
小曹 2009-08-01 12:00 9
小曹 2009-08-02 08:00 2
小曹 2009-08-02 09:00 8 高手快快出现呀,因数据量大不可能用手工去填充的,能不能写个查询语句来解决问题,或用其它的什么方法可以实现的,在此感谢高手指教。先谢谢了
工人 日期 时间 金额
小张 2009-08-01 08:00 5
09:00 7
10:00 9
11:00 6
12:00 2
2009-08-02 08:00 6
09:00 5
10:00 8
11:00 5
12:00 5
小曹 2009-08-01 08:00 6
09:00 4
10:00 5
11:00 7
12:00 9
2009-08-02 08:00 2
09:00 8
................................ 因业务需要,想转换成以下格式 小张 2009-08-01 08:00 5
小张 2009-08-01 09:00 7
小张 2009-08-01 10:00 9
小张 2009-08-01 11:00 6
小张 2009-08-01 12:00 2
小张 2009-08-02 08:00 6
小张 2009-08-02 09:00 5
小张 2009-08-02 10:00 8
小张 2009-08-02 11:00 5
小张 2009-08-02 12:00 5
小曹 2009-08-01 08:00 6
小曹 2009-08-01 09:00 4
小曹 2009-08-01 10:00 5
小曹 2009-08-01 11:00 7
小曹 2009-08-01 12:00 9
小曹 2009-08-02 08:00 2
小曹 2009-08-02 09:00 8 高手快快出现呀,因数据量大不可能用手工去填充的,能不能写个查询语句来解决问题,或用其它的什么方法可以实现的,在此感谢高手指教。先谢谢了
解决方案 »
- 如何对数据库中的某个字段进行加密(插入时加密,提取时解密)
- oracle 管理员手册
- Pro*C/C++访问嵌套表的问题
- 请问一下 oracle 中varchar和varchar2有何区别??
- 请问oracle 9i数据库存储文件或图片用什么数据类型?
- 在java类中创建Socket连接出错
- 按照日期汇总数据,如果这一天没有数据,则统计的结果会漏掉这一天,但是把数据倒入Excel中,引用数据很容易出错。
- 问个sql该怎么写
- ORACLE8.1.7导入8.1.6时 无法转换为环境本国字符集句柄
- 关于UTL_FILE的问题,一定给高分!
- 求一个排序的sql语句 急急
- ERP表问题.....求子库库存总值语句巨慢求优化.....
MS OFFICE(ACCESS\EXCE\WORD等应用技术探讨与交流!技术群,请阅群论坛中的《踢人规则》
这个主意不错,先在excel中编辑,再倒入数据库
如果实在不行
每个人对应10行,每个日期对应5行,且排列顺序固定的前提下
用
select max(工人)over(partition by trunc((rownum-1)/10))工人,max(日期)over(partition by trunc((rownum-1)/5))日期,
时间,金额 from tab1
这个报表的结构很不可取...
http://blog.csdn.net/cosio/archive/2008/12/18/3549657.aspx
创建一个空表,字段和上表相同,然后插入
declare
v_name varchar2(10);
v_date date;
begin
for cur1 in (select * from tab1 )loop --tab1为你给出的表
if cur1.工人 is not null then v_name:=cur1.工人;
end if;
if cur1.日期 is not null then v_date:=cur1.日期 ;
end if;
insert into tab2 values (v_name,v_date,cur1.时间,cur1.金额);--tab2为新创建的表
end loop;
commit;
end;