我在页面上 如果输入2007 年上半年,然后对数据库进行查询 ,
数据库的基本结构是这样的
NAME SYSDATE VALUE CD1 CD2
... ... ... ... ...
查询条件是 (SYSDATE>=2005/12 AND SYSDATE<=2006/05) OR
(SYSDATE>=2006/12 AND SYSDATE<=2007/05 )
而且,CD1=CD2的时候, 每个月份对应的值为value,不等的时候为'Null'查询结果是这样的:(按照name 分组)
12月 1月 2月 3月 4月 5月
05 value ...
06 null ... 谢谢大家了,大家一起集思广益吧!
数据库的基本结构是这样的
NAME SYSDATE VALUE CD1 CD2
... ... ... ... ...
查询条件是 (SYSDATE>=2005/12 AND SYSDATE<=2006/05) OR
(SYSDATE>=2006/12 AND SYSDATE<=2007/05 )
而且,CD1=CD2的时候, 每个月份对应的值为value,不等的时候为'Null'查询结果是这样的:(按照name 分组)
12月 1月 2月 3月 4月 5月
05 value ...
06 null ... 谢谢大家了,大家一起集思广益吧!
SELECT NAME,SUM(DECODE(TO_CHAR(COLDATE,'MM'),'01',COLVAL,NULL) '1月',
SUM(DECODE(TO_CHAR(COLDATE,'MM'),'02',COLVAL,NULL) '2月',
...
FROM (SELECT NAME ,COLDATE,DECODE(SIGN(CD1-CD2),0,VALUE,NULL) AS COLVAL FROM TBNAME) T GROUP BY NAME;