sql语句中的case when条件 @a=1   字段1就等于'ZM01'如果@a=2  字段1就等于‘ZM02’,‘ZM03’,‘ZM04’,‘ZM05’ 
要怎么写呢?麻烦举个例子 谢谢了

解决方案 »

  1.   

    SELECT 编号,SUM(CASE WHEN 科目='数学' THEN 数学分数 END) AS 数学,
    SUM(CASE WHEN 科目='语文' THEN 语文分数 END) AS 语文 FROM 表名 GROUP BY 编号;
    不知道这样写,你时候能理解。
      

  2.   

    类似于这个样子case when @a=1 then 'ZM01' 
    else 'ZM02','ZM03','ZM04','ZM05'  end 这种,但这个样子写的话会报错的  这样应该容易理解些
      

  3.   

    试一下这样写,可以不
    CASE @a
    WHEN 1 THEN  'ZM01'  
    WHEN 2 THEN 'ZM02','ZM03','ZM04','ZM05'
      

  4.   

    lz是如果@a=1
    就sql拼上 "字段1 = 'ZM01'"如果@a=2
    就在sql拼上" 字段1=‘ZM02’or 字段1=‘ZM03’or 字段1=‘ZM04’or 字段1=‘ZM05’"这个意思吧?good luck
      

  5.   

    select XXXX
    from XXXX
    where 
    (a = '1'
    and field1='ZM01'
    )
    or
    (a = '2'
    and (field1='ZM02' or field1='ZM03' or field1='ZM04' or field1='ZM05'
    )没用case when,好像能实现good luck
      

  6.   

    ororor的那行少了个右括号good luck