SQL存储过程问题

[复制链接]
查看11 | 回复3 | 2010-4-3 02:21:52 | 显示全部楼层 |阅读模式
select编号字段,sum(case when 买入卖出字段='卖出' then 数量字段 else 0 end) 卖出,sum(case when 买入卖出字段='卖入' then 数量字段 else 0 end) 卖入from 表名group by 编号字段;---以上,希望对你有所帮助。
回复

使用道具 举报

千问 | 2010-4-3 02:21:52 | 显示全部楼层
--创建一个函数:(tbl--表名,no--编号,direc--方向,Num--数量)create function getList(@sNo varchar(10),@sDirec varchar(10))return varchar(1000)asdeclare @sList varchar(1000)declare @iNum intdeclare cur cusor for select Num from tab where No = @sNo and Direc = @sDirecopen curfetch next from cur into @iNumwhile @@fetch_status = 0begin set @sList = @sList + '+' + cast(@iNum as varchar(10))fetch next from cur into @iNumendclose curdeallocate curreturn @sListgo--要得到你想要的结果,执行如下语句:select no,getList(no,'卖出') as sale,getList(no,'买入') as buy from (select distinct no from tbl)
回复

使用道具 举报

千问 | 2010-4-3 02:21:52 | 显示全部楼层
如果你是要的结果和你下面的一样,比如001 买入的是20+10就需要使用存储过程来显示,如果是整数比如001买入的是30的话 奔驰M888正解
回复

使用道具 举报

千问 | 2010-4-3 02:21:52 | 显示全部楼层
简单的问题搞那么复杂
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行