【发布时间】:2016-11-23 13:12:21
【问题描述】:
如何在 SQL UPDATE CASES 中使用多个条件?
COLUMN1 COLUMN2 COLUMN3
BG1 STANDARD
FOX1 STANDARD
BRB STANDARD
NBC STANDARD
FOX2 STANDARD
CNN3 STANDARD
GAM1 STANDARD
AI1 STANDARD
CQN3 STANDARD
GSM1 STANDARD
OFD1 STANDARD
REST NONSTANDARD
WEST NONSTANDARD
EAST NONSTANDARD
我想设置 column3 = 1 其中第 1 列属于以下任何名称 (BG1,FOX1,BRB,NBC, CNN3 , GAM1, AI1 ) 以及当 COLUMN2 = 标准时
并设置 column3 = -2,其中 column1 不在以下名称中((BG1,FOX1,BRB,NBC, CNN3 , GAM1, AI1),其中 Column2 = STANDARD。
这些都是我写的
UPDATE SET COLUMN3 = 1
WHERE (COLUMN2 = 'STANDARD' AND COLUMN1 = 'BG1' OR 'FOX1'OR 'BRB' OR 'NBC' OR 'CNN3' OR 'GAM1' OR 'AI1')
UPDATE SET COLUMN3 = -2
WHERE (COLUMN2 = 'STANDARD' AND COLUMN1 !='BG1' OR 'FOX1'OR 'BRB' OR 'NBC' OR 'CNN3' OR 'GAM1' OR 'AI1')
它不工作。有什么建议吗?
【问题讨论】:
-
具体要更新哪个字段?
-
那就看看
INoperator吧。或者将括号放在正确的位置,考虑到ANDhas higher precedence thanOR,就像在许多/大多数(所有?)其他语言中一样。