http://expert.csdn.net/Expert/topic/2323/2323708.xml?temp=.2692224

解决方案 »

  1.   

    游标循环,动态执行UPDATE语句就可以了.
      

  2.   

    SET QUOTED_IDENTIFIER OFF
    create table  #tmp  (a int,b int,c varchar(10))
    create table #res   (a int,b int,c varchar(10),d int)
    insert into #tmp values(3,8,'a+b')
    insert into #tmp values(2,6,'a*b')
    insert into #tmp values(4,9,'a+b')
    insert into #tmp values(11,2,'a-b')
    insert into #tmp values(33,2,'a*b')
    declare @str varchar(100)
    declare @ab varchar(100)
    declare cur1 cursor for select c from #tmp group by c
    open cur1
    fetch next from cur1 into @ab
    while @@fetch_status=0
    begin
    set @str='insert into #res select a,b,c,' +@ab+" as d from #tmp where c='" + @ab +"'"
    exec (@str)
    fetch next from cur1 into @ab
    end
    select * from #res
    deallocate cur1
    drop table #res
    drop table #tmp
    SET QUOTED_IDENTIFIER ON