我只是尝试使用MS Access 2007
现在我想基于其他列值更新一列,在MY SQL中成功运行了此查询
UPDATE HAI
SET REGION=(
CASE
WHEN (NUMREG LIKE '%1') THEN 'BDG'
WHEN (NUMREG LIKE '%2') THEN 'JKT'
WHEN (NUMREG LIKE '%3') THEN 'KNG'
END);
此查询将不会在MS Access中运行,出现错误
Sytax error (missing operator) in query expression
。我该如何解决?
最佳答案
在Access SQL中没有CASE ... WHEN。您可以改为使用Switch Function。
UPDATE HAI
SET REGION = Switch(
NUMREG Like '*1', 'BDG',
NUMREG Like '*2', 'JKT',
NUMREG Like '*3', 'KNG'
);
该查询使用Access的默认值(ANSI 89模式)*代替%通配符。如果要使用%通配符,则可以使用ALike比较运算符来实现。
UPDATE HAI
SET REGION = Switch(
NUMREG ALike '%1', 'BDG',
NUMREG ALike '%2', 'JKT',
NUMREG ALike '%3', 'KNG'
);
关于sql - Microsoft Access-案例查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11534425/