如果另一列有特定数据,我需要更新一列。
通常,如果我想更新一列,我会执行以下SQL查询:
UPDATE table1
SET field1 = replace(field1, 'oldstring', 'newstring')
但我无法想象的是如何让它查找一列,如果该字段有一些数据,它应该更新另一列的字段。
这是我想要做的。
基本上,我知道怎样做"更新"部分,但不知道如何让它在一列中首先看,如果是空(或匹配),它应该执行以下操作:
UPDATE phpbb_tree
SET page_template = replace(page_template, 'tree_body_spouse_1.html', 'tree_body_single.html')
希望有人可以告诉我如何写出来。我甚至不知道是否可以在列中搜索空数据?
答案 0 :(得分:1)
您可以使用CASE表达式来满足不同的替换条件。
UPDATE phpbb_tree
SET page_template = (CASE
WHEN spouses_total is null
THEN replace(page_template, 'tree_body_spouse_1.html', 'tree_body_single.html')
ELSE page_template
END
);
修改强>
请检查..