case 后面可以加SQL语句吗?
比如 select '商家名称'=
            case state
                when '0' then +sql语句
                when ....
           end 
     from sjmc

解决方案 »

  1.   

    学习,怎么写? 我写了如下语句,告诉我语法错误呢??
    select case StatusValue
    when 0 then select top 1 from work
    when 1 then select top 1 from Notice
        end 
    from CommonStatusDict
      

  2.   

    select case StatusValue
    when 0 then (select top 1 字段名 from work)
    when 1 then (select top 1 字段名 from Notice)
        end 
    from CommonStatusDict
      

  3.   

    CASE 具有两种格式: 
    (1)简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。 
    (2)CASE 搜索函数计算一组布尔表达式以确定结果。两种格式都支持可选的 ELSE 参数。 语法
    简单 CASE 函数:CASE input_expression
        WHEN when_expression THEN result_expression
            [ ...n ]
        [ 
            ELSE else_result_expression
        ENDCASE 搜索函数:select case StatusValue
    when '0' then (select top 1 字段名 from work)
    when '1' then (select top 1 字段名 from Notice)
        end 
    from CommonStatusDict
      

  4.   

    use isdagl
    select '商家名称'=
          case state
               when 0 then (select huiyuan.sjmc from huiyuan join gsjc on gsjc.tel=huiyuan.cxtdh)
           end
       
    from gsjc 
    我加了字段就出错 郁闷啊