帮忙修改一个存储过程的函数 在线等高人 下午问过一次 可能没说清楚 没得到好的答案 现在重新开贴问一次 ALTER FUNCTION [dbo].[GetHistory] ( @IssueNum int,@Name varchar(100),@NumSum int,@Result varchar(50),@History varchar(100) ) RETURNS varchar(1024) AS BEGIN DECLARE @tempID int select top 1 @tempID=IssueNum from NumsData where IssueNum<@IssueNum and [Name]=@Name and NumSum =@NumSum and Result=@Result and History=@History order by IssueNum desc set @History='' if @tempID>0 begin select top 3 @History=@History+R1 from NumsData where IssueNum<=@tempID and [Name]=@Name order by IssueNum desc end return @History END
比如 编号是118的数据 根据这个条件IssueNum<@IssueNum and [Name]=@Name and NumSum =@NumSum and Result=@Result and History=@History order by IssueNum desc 搜索到了一条编号为089的数据 现在的返回值是@History=@History+R1 也就是返回的是 118 117 116的R1的值 而我需要得到的返回值是089后面三条数据 也就是090 091 092 三条数据R1字段的值 比如三个值分别是 好 孬 好 那我需要得到的@History返回值就是:好孬好 这样一个数据
------解决方案--------------------
SQL code
--看下是不是你要的结果
select top 3 @History=@History+R1 from NumsData where IssueNum>@tempID and [Name]=@Name order by IssueNum asc
------解决方案--------------------