求一汇总sql写法设有一个表TEST(ID,收到任务时间,处理任务时间,任务金额):SQL codecreate table TEST(IDVA
求一汇总sql写法
设有一个表TEST(ID,收到任务时间,处理任务时间,任务金额):
- SQL code
create table TEST( ID VARCHAR2(5) , RE_DATE VARCHAR2(10), CL_DATE VARCHAR2(10), MONEY NUMBER)insert into test (ID, RE_DATE,CL_DATE,MONEY) values ('1', '2012-02-10', '2012-02-20', '101');insert into test (ID, RE_DATE,CL_DATE,MONEY) values ('2', '2012-02-10', '2012-02-20', '102');insert into test (ID, RE_DATE,CL_DATE,MONEY) values ('3', '2012-02-16', '', '55');insert into test (ID, RE_DATE,CL_DATE,MONEY) values ('4', '2012-04-15', '2012-05-20', '50');如何求下列格式数据的sql,求大侠指教!
- HTML code
<table border='1'><tr><td>月份</td><td>当月已完成条数</td><td>当月已完成总金额</td><td>累计目前未完成条数</td><td>累计目前未完成总金额</td></tr><tr><td>2012-02</td><td>2</td><td>203</td><td>1</td><td>55</td></tr><tr><td>2012-04</td><td>0</td><td>0</td><td>2</td><td>105</td></tr><tr><td>2012-05</td><td>1</td><td>50</td><td>1</td><td>55</td></tr><tr><td>2012-06</td><td>0</td><td>0</td><td>1</td><td>55</td></tr></table>
[解决办法]
看你这个格式,建议用存储过程来写,
静态部分写死,动态数据部分用循序来写,完成一行后以</tr>结束
整个完成后</table>
[解决办法]
select
tochar(CL_DATE,"MM") '月份',
case
when CL_DATE != null and CL_DATE != "" then sum(nvl(MONEY,0)) end '当月已完成总金额',
case
when CL_DATE != null and CL_DATE != "" then count(nvl(CL_DATE,0)) end '当月已完成条数',
case
when CL_DATE == null and CL_DATE == "" then sum(nvl(MONEY,0)) end '当月未完成总金额',
case
when CL_DATE == null and CL_DATE == "" then count(nvl(CL_DATE,0)) end '当月未完成条数',
from test group by tochar(CL_DATE,"MM")
[解决办法]
什么样的数据叫“当月已完成”
