先看代码.. 
  
select CIQ_result, 
(case 
when CIQ_result = '2'
then 
set @process_result = '2' ) 
from EntUser where UserID = @UserID
 
我这样写. SQL2008提示我的CIQ_result 没有这个列名.. 
set附近也有错.. 
要怎样改呢? 

解决方案 »

  1.   

    select CIQ_result, 
    (case 
    when CIQ_result = '2'
    then 
     '2' )  as  process_result 
    from EntUser where UserID = @UserID
      

  2.   

    select CIQ_result, 
    @process_result=case CIQ_result when '2' then '2' end
    from EntUser 
    where UserID = @UserID
      

  3.   

    select CIQ_result, @process_result=
    (case 
    when CIQ_result = '2'
    then 
     '2' end ) 
    from EntUser where UserID = @UserID
      

  4.   

    select CIQ_result, 
    set @process=(case 
    when CIQ_result = '2'
    then  '2'  end) 
    from EntUser where UserID = @UserID???
      

  5.   

    select CIQ_result, @process_result= 
    (case when CIQ_result = '2' 
    then 
    '2' end ) 
    from EntUser where UserID = @UserID 
      

  6.   

    select CIQ_result, 
     @process=(case 
    when CIQ_result = '2'
    then  '2'  end) 
    from EntUser where UserID = @UserID
      

  7.   

    select 
    @process_result =  
    (case 
    when CIQ_result = '2'
    then 
    '2'
    end ) 
    from EntUser where UserID = @UserID
      

  8.   

    ....josy
     
    (百年树人)    谢谢罗~   再加问一个问题..
    declare @resultNum varchar(2)
    declare @procResult varchar(10)
    declare @generaldeclid intselect top 1 @resultNum = a.CIQ_result , @generaldeclid = a.GeneralDeclID from CIQ_I_E_Declare a, BPIP.dbo.General_Decl b where a.GeneralDeclID = b.GeneralDeclID and a.CIQ_result <>1select @procResult = CIQ_Result from CIQResult where @resultNum = CIQ_ResultNum我觉得这个功能. 可以用一个join来做完. 但是..我试很多都错了..  大侠教教我吧..  谢谢罗~
      

  9.   

    ??需求不解
    你想實現的是啥效果阿  LS
    首先 select 使用 @i='' 必須每個字段都是複製語句
    然後嘛declare @i int
    set @i=2
    select 1 where 1=1 and @i=1
    select @i很不解  where @resultNum = CIQ_ResultNum你這個的意圖是這個意思嗎?select top 1 (
    select top 1 @procResult = CIQ_Result from CIQResult where  CIQ_ResultNum=a.CIQ_result
     ) as cols
    , @generaldeclid = a.GeneralDeclID 
    from CIQ_I_E_Declare a, BPIP.dbo.General_Decl b
    where a.GeneralDeclID = b.GeneralDeclID and a.CIQ_result <>1