我想更新表,但不知道要更新哪个列。
下面是一个简单的例子

Update tablename
set
if col1='A' then col1='IA',col2='XXX'
if col3='A' then col3='IA', col4='XXX'
where
(col1='A' and col2='UNKNOWN') or (col3='A' and col4='UNKNOWN')

这里col1col3肯定包含'A'
请提供正确的查询

最佳答案

尝试此查询

UPDATE tablename
SET col1=(CASE WHEN col1 LIKE 'A' THEN col1='IA' ELSE col1 END),
col2=(CASE WHEN col1 LIKE 'A' THEN col2='XXX' ELSE col2 END),
col3=(CASE WHEN col3 LIKE 'A' THEN col3='IA' ELSE col3 END),
col3=(CASE WEHN col3 LIKE 'A' THEN col4='XXX' ELSE col4 END)
WHERE
(col1='A' AND col2='UNKNOWN') OR (col3='A' AND col4='UNKNOWN')

关于mysql - MySQL:使用If else更新查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14580520/

10-13 05:30