我有一个基本表,其中包含客户,地区,销售人员,销售项目。销售项目是缩写,例如,TENN是网球鞋的输入。在新列中,将其称为SALES2,我想用其他名称更正。这是我到目前为止的内容,但是没有用
ALTER TABLE SALES
DROP COLUMN SALES2 varchar(25) AFTER Sales Item;
UPDATE SALES
SET SALES2= CASE
(
WHEN Sales Item = 'TENN' THEN 'Tennis Shoes'
WHEN Sales Item = 'PJs' then 'Pajamas'
ELSE = Other
)
END
这就是我在寻找最终结果
答案 0 :(得分:0)
这里有两个问题。首先,您想要add
的一列,而不是drop
的一列(这意味着将其删除):
ALTER TABLE SALES
ADD COLUMN SALES2 varchar(25) AFTER Sales Item;
第二,您的case
语法错误-您应该在=
之后删除else
,使用单引号表示该字符串并删除括号:
UPDATE SALES
SET SALES2= CASE
WHEN [Sales Item] = 'TENN' THEN 'Tennis Shoes'
WHEN [Sales Item] = 'PJs' THEN 'Pajamas'
ELSE 'Other'
END
答案 1 :(得分:0)
使用计算列!然后,无需更新。该列只是计算出的值:
ALTER TABLE SALES
ADD SALES2 AS (CASE WHEN SalesItem = 'TENN' THEN 'Tennis Shoes'
WHEN SalesItem = 'PJs' THEN 'Pajamas'
ELSE 'Other'
END)