日期:2014-05-19  浏览次数:20529 次

关于字段合并的问题,解决后散分 在线等 谢谢!
字段类性和数据如下:
字段   :check_date,   d_rea   ,row,sign,
数据   2007-03-22,   432.00,   1,   +
          2007-03-22,112.01,   1,   -
          2007-01-22,   22.23,     2,   +
          2007-03-22,   123.22,   5,   *


问题是:如何把相同row(row=1,...)字段   下的d_rea   进行符号运算合并,符号取该row对应的   sign字段类的符号.
把符号运算后合并后的d_rea字段数据   送给新表   并更新该row行.  

注意:row不一定是连续的  


------解决方案--------------------
更新该row行是什么意思
------解决方案--------------------
要考虑运算符的优先级吗?
------解决方案--------------------
create table t(check_date datetime , d_rea numeric(9,2),row int,[sign] varchar(10))
insert t
select '2007-03-22 ', 432.00, 1, '+ ' union all
select '2007-03-22 ',112.01,1, '- ' union all
select '2007-01-22 ', 22.23, 2, '+ ' union all
select '2007-03-22 ', 123.22, 5, '* '


create function f1(@id int)
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str = ' '
select @str=@str+cast(d_rea as varchar(50))+[sign] from t where row = @id
set @str = @str+ '0 '
return @str
end
select row,dbo.f1(row) from t group by row
------解决方案--------------------
要考慮括號()的情況嗎?

------解决方案--------------------
数据 2007-03-22, 432.00, 1, +
2007-03-22,112.01, 1, -

这个做+, 还是做-呢?


处理的方法, 用 leo_lesley(leo) 的就好了.