没看明白
exec(' select  b.AddedItem,   c.NewLiaocheng 
from   ('+@sXAddedItem+') b,   ('+@sTNewLiaocheng+') c  ')
这里头只显示 AddedItem 与 NewLiaocheng

解决方案 »

  1.   

    晕,自己漏掉些了在调试时 我用了
    pring ' select  b.AddedItem, b.OldAddedItem ,c.NewLiaocheng 
    from   ('+@sXAddedItem+') b,   ('+@sTNewLiaocheng+') c  '但上面的语句在执行时 没有写  b.OldAddedItem 唉,今天真晕,出去逗逗风再说先
      

  2.   

    create table tb (kprice int ,zk_price int ,many_mcuch int)
    insert tb values (1,2,3)
    insert tb values (2,3,4)declare @sql as  varchar(800)
    set @sql='from tb'
    declare @sXAddedItem as varchar(800) 
    set @sXAddedItem='select  OldAddedItem = sum(kprice * many_mcuch), AddedItem = sum(zk_price * many_mcuch)'+@sqldeclare @sTNewLiaocheng as varchar(800)
    set @sTNewLiaocheng ='select  NewLiaocheng = sum(kprice )' +  @Sqlexec('select b.AddedItem ,b.OldAddedItem ,c.NewLiaocheng from('+@sXAddedItem+') b,   ('+@sTNewLiaocheng+') c  ')
    drop table tb/*
    楼主最好说的详细一点,不知道你的@sql是什么串,
    set @sTNewLiaocheng = 'select  NewLiaocheng = sum(LS.kprice )' +  @Sql + 'and LS.ktype = ''aaaa''' 
    里头是不是少where啊
    */
    --测试结果:
    (所影响的行数为 1 行)
    (所影响的行数为 1 行)AddedItem   OldAddedItem NewLiaocheng 
    ----------- ------------ ------------ 
    18          11           3