SELECT * 
CASE c 
WHEN c='3' THEN b='2' 
WHEN c='6' THEN b='5' 
WHEN c='9' THEN b='8' 
WHEN c='12'THEN b='11' 
ELSE b='0' 
END
FROM aaaa
运行以后说是CASE附近有语法错误,希望大家帮忙指正我的表是一个简单表
a  b   c
1  2   3
4  5   6
7  8   9
10 11  12

解决方案 »

  1.   

    --?
    SELECT * ,
    B=CASE 
    WHEN c='3' THEN '2' 
    WHEN c='6' THEN '5' 
    WHEN c='9' THEN '8' 
    WHEN c='12'THEN '11' 
    ELSE '0' 
    END 
    FROM aaaa 
      

  2.   

    改正如下:
    SELECT *, 
    CASE c 
    WHEN c='3' THEN '2' 
    WHEN c='6' THEN '5' 
    WHEN c='9' THEN '8' 
    WHEN c='12'THEN '11' 
    ELSE '0' 
    END as b
    FROM aaaa 
      

  3.   

    SELECT *,
    b=CASE c 
    WHEN '3' THEN '2' 
    WHEN '6' THEN '5' 
    WHEN '9' THEN '8' 
    WHEN '12'THEN '11' 
    ELSE '0' 
    END 
    FROM aaaa 
      

  4.   

    CASE c 
    WHEN c='3' THEN b='2' 这里。如果要用 c= '3'的话,前面就用CASE WHEN 
    否则就应该采取如下方式
    case c
    when '3'