SELECT SUBSTRING(clbm) AS 类别,sum(dj * yesl) AS 合计金额
FROM cl_mxz
WHERE nf=2003 AND yf=5
GROUP BY SUBSTRING(clbm)
FROM cl_mxz
WHERE nf=2003 AND yf=5
GROUP BY SUBSTRING(clbm)
解决方案 »
- 在同一台服务器,如何把A库的一个表格完全复制到B库
- 在SQL Server中where、using、on在什么时候等价?
- 哪位熟悉sql2005的高人指点一下啊
- 请问如何用java 往sql server2000中的text字段存大约300k的数据?
- 一个关于SQL查询的问题
- window 2003 下的sql server 2000 为什么不能通过tcp/ip访问
- [求救]关键字查询和分页显示。
- 遇到两个MS SQL2000的问题,大家帮个忙
- 关于ADO之RecordSet对象的效率问题?
- 为什么我这样连接数据源就会出错?
- 征求好的算法(SQL SERVER)
- 存储过程提示“必须声明变量XXX”,但是我已经声明了呀
余额数量为该材料发生进或出帐后的库存数量(某月的最大日期数(rr)的余额数量即为该材料该月的余额数量 )。
sum(dj * yesl) 不对,我要选出该月的最后一次(即最大日期数)帐本发生的余额数量.
FROM cl_mxz
WHERE nf=2003 AND yf=5
and rr=(select max(rr) from cl_mxz where nf=2003 AND yf=5)
GROUP BY SUBSTRING(clbm,1,2)
declare @cl_mxz table (lsh int,clbm varchar(10), nf int,yf int,rr int,dj int,yesl int)
insert @cl_mxz values(1, '01*****' , 2003 ,5, 1 , 9 , 10)
insert @cl_mxz values(2 , '03*****' ,2003 ,5 , 1 , 9 , 5)
insert @cl_mxz values(3 , '02*****' , 2003 , 5 , 3 , 16 , 2)
insert @cl_mxz values(4 , '01*****' ,2003, 5 ,4, 8, 19)select 类别,sum(合计金额) 合计金额 from(
select left(clbm,2) 类别,dj*(select top 1 yesl from @cl_mxz where nf=aa.nf and yf=aa.yf and clbm=aa.clbm order by rr desc) 合计金额 from @cl_mxz aa where nf=2003 and yf=5 ) tem group by 类别
FROM cl_mxz
WHERE nf=2003 AND yf=5
and rr=(select max(rr) from cl_mxz a where a.SUBSTRING(clbm,1,2)=cl_mxz.SUBSTRING(clbm,1,2)
)
GROUP BY SUBSTRING(clbm,1,2)
SELECT SUBSTRING(clbm,1,2) AS 类别,sum(dj * yesl) AS 合计金额
FROM cl_mxz
WHERE nf=2003 AND yf=5
and rr=(select max(rr) from cl_mxz a where SUBSTRING(a.clbm,1,2)=SUBSTRING(cl_mxz.clbm,1,2) )
GROUP BY SUBSTRING(clbm,1,2)
大力的我已试过,可以很快得出结果,由于数据量比较大,结果还没来得急验证,
happydreamer(偶很菜)的方法也可以得出结果,但是间要长一些(大概需要几分锺),选出的类别少了部分,得出的合计金额似乎偏少,有待验证.
select 类别,yesl*dj as 合计金额 from
(select top 1 left(clbm,2) as 类别,dj,yesl from cl_mxz
where nf=2003 and yf=5
order by rr desc)如果要返回所有年月:
select 类别,yesl*dj as 合计金额 from
(select left(clbm,2) as 类别,dj,yesl from cl_mxz
where lsh in
(select top 1 lsh from cl_mxz group by left(clbm,2),nf,yf order by rr desc)
order by rr desc)