1010101010018 需求量 0 2008-8-6
1010101010018 需求量 12 2008-8-7
1010101010018 需求量 0 2008-8-15
1010101010018 需求量 60 2008-8-19
1010101010018 采购订单 10 2008-8-6
1010101010018 采购订单 10 2008-8-8
1010101010018 采购订单 30 2008-8-17
1010101010018 采购申请 2 2008-8-6
1010101010018 采购申请 50 2008-8-11
1010101010018 采购申请 50 2008-8-20
上表是原始数据,想求一段代码得出如下结果:
1010101010018 需求量 0 2008-8-6
1010101010018 需求量 12 2008-8-13
1010101010018 需求量 60 2008-8-20
1010101010018 采购订单 10 2008-8-6
1010101010018 采购订单 10 2008-8-13
1010101010018 采购订单 30 2008-8-20
1010101010018 采购申请 2 2008-8-6
1010101010018 采购申请 50 2008-8-13
1010101010018 采购申请 50 2008-8-20
请大侠们给予帮助!定感激不进啊!
1010101010018 需求量 12 2008-8-7
1010101010018 需求量 0 2008-8-15
1010101010018 需求量 60 2008-8-19
1010101010018 采购订单 10 2008-8-6
1010101010018 采购订单 10 2008-8-8
1010101010018 采购订单 30 2008-8-17
1010101010018 采购申请 2 2008-8-6
1010101010018 采购申请 50 2008-8-11
1010101010018 采购申请 50 2008-8-20
上表是原始数据,想求一段代码得出如下结果:
1010101010018 需求量 0 2008-8-6
1010101010018 需求量 12 2008-8-13
1010101010018 需求量 60 2008-8-20
1010101010018 采购订单 10 2008-8-6
1010101010018 采购订单 10 2008-8-13
1010101010018 采购订单 30 2008-8-20
1010101010018 采购申请 2 2008-8-6
1010101010018 采购申请 50 2008-8-13
1010101010018 采购申请 50 2008-8-20
请大侠们给予帮助!定感激不进啊!
解决方案 »
- 在win7下,oracle10g的客户端装上后无法正常运行,而且PLSQL Developer用不了!
- VS2010和orcale连接问题··菜鸟··急···麻烦高手救救急
- 请问包怎么付权限
- 如何把不同语句查询到的字段合成一行
- oralce8i的触发器问题,实在搞不定了招唤高手!!!!
- 重新安装oracle9i服务器,要做一些什么操作?谢谢
- oracle8i数据库导入的问题?-----怪问题
- 怎么实现边算边查?在查询的时候根据数据表中的字段的数值计算(例如计算平均值)再将符合标准的显示出来?
- 按时间循环插入数据
- 请教关于连接oracle rac,tnsping 发生tns-12547(lost contact)错误问题
- 今天去面试,几道不太会的8道题,各位帮看看,多谢
- 请教几个sql语句
(a char(13),
b char(10),
c number,
d date
)insert into testT values('1010101010018', '需求量', 0 , to_date('2008-8-6','YYYY-MM-DD'));
insert into testT values('1010101010018', '需求量', 12 , to_date('2008-8-7','YYYY-MM-DD'));
insert into testT values('1010101010018', '需求量', 0 , to_date('2008-8-15','YYYY-MM-DD'));
insert into testT values('1010101010018', '需求量', 60 , to_date('2008-8-19','YYYY-MM-DD'));
insert into testT values('1010101010018', '采购订单', 10 , to_date('2008-8-6','YYYY-MM-DD'));
insert into testT values('1010101010018', '采购订单', 10 , to_date('2008-8-8','YYYY-MM-DD'));
insert into testT values('1010101010018', '采购订单', 30 , to_date('2008-8-17','YYYY-MM-DD'));
insert into testT values('1010101010018', '采购申请', 2 , to_date('2008-8-6','YYYY-MM-DD'));
insert into testT values('1010101010018', '采购申请', 50 , to_date('2008-8-11','YYYY-MM-DD'));
insert into testT values('1010101010018', '采购申请', 50 , to_date('2008-8-20','YYYY-MM-DD'));
SELECT a, b, sum(c),
DECODE (SIGN (7 - (NEXT_DAY (d, '星期三') - d)),
1, TO_CHAR (NEXT_DAY (d, '星期三'), 'YYYY-MM-DD'),
TO_CHAR (d, 'YYYY-MM-DD')
)
FROM testt
GROUP BY a,
b,
DECODE (SIGN (7 - (NEXT_DAY (d, '星期三') - d)),
1, TO_CHAR (NEXT_DAY (d, '星期三'), 'YYYY-MM-DD'),
TO_CHAR (d, 'YYYY-MM-DD')
);--结果:
1010101010018 采购订单 10 2008-8-6
1010101010018 采购订单 10 2008-8-13
1010101010018 采购订单 30 2008-8-20
1010101010018 采购申请 2 2008-8-6
1010101010018 采购申请 50 2008-8-13
1010101010018 采购申请 50 2008-8-20
1010101010018 需求量 0 2008-8-6
1010101010018 需求量 12 2008-8-13
1010101010018 需求量 60 2008-8-20
一个sql好象搞不定..
方法如下:
DROP TABLE test;
create table test
(a char(13),
b char(10),
c number,
d date
);insert into test values('1010101010018', '需求量', 0 , to_date('2008-8-6','YYYY-MM-DD'));
insert into test values('1010101010018', '需求量', 12 , to_date('2008-8-7','YYYY-MM-DD'));
insert into test values('1010101010018', '需求量', 0 , to_date('2008-8-15','YYYY-MM-DD'));
insert into test values('1010101010018', '需求量', 60 , to_date('2008-8-19','YYYY-MM-DD'));
insert into test values('1010101010018', '采购订单', 10 , to_date('2008-8-6','YYYY-MM-DD'));
insert into test values('1010101010018', '采购订单', 10 , to_date('2008-8-8','YYYY-MM-DD'));
insert into test values('1010101010018', '采购订单', 30 , to_date('2008-8-17','YYYY-MM-DD'));
insert into test values('1010101010018', '采购申请', 2 , to_date('2008-8-6','YYYY-MM-DD'));
insert into test values('1010101010018', '采购申请', 50 , to_date('2008-8-11','YYYY-MM-DD'));
insert into test values('1010101010018', '采购申请', 50 , to_date('2008-8-20','YYYY-MM-DD'));
COMMIT;
SELECT A,
B,
SUM(C),
DECODE(MOD(TRUNC(D) - TRUNC(SYSDATE), 7),
0,
D,
TRUNC(SYSDATE) + 7 * (CEIL((TRUNC(D) - TRUNC(SYSDATE)) / 7))) X
FROM TEST
GROUP BY A,
B,
DECODE(MOD(TRUNC(D) - TRUNC(SYSDATE), 7),
0,
D,
TRUNC(SYSDATE) +
7 * (CEIL((TRUNC(D) - TRUNC(SYSDATE)) / 7)))
ORDER BY 1, 2, 4, 3;
输出:
1010101010018 采购订单 10 2008-08-06
1010101010018 采购订单 10 2008-08-13
1010101010018 采购订单 30 2008-08-20
1010101010018 采购申请 2 2008-08-06
1010101010018 采购申请 50 2008-08-13
1010101010018 采购申请 50 2008-08-20
1010101010018 需求量 0 2008-08-06
1010101010018 需求量 12 2008-08-13
1010101010018 需求量 60 2008-08-20