假设我们有一个名为 Swap-Table 的表。
*Input Table*
ID NAME Type
------------------
1 name1 a
2 name2 b
3 name3 b
我想写一个命令来更新表。输出表将是
**Output Table**
ID NAME Type
------------------
1 name1 b
2 name2 a
3 name3 a
条件:无 CASE/SWITCH
最佳答案
您可以使用 CTE 或某种子查询来生成更新字典
WITH upd_dict (type_from, type_to) AS (
SELECT 'a', 'b'
UNION
SELECT 'b', 'a')
UPDATE table_name
SET type = ud.type_to
FROM upd_dict ud
WHERE ud.type_from = type
但是,如果您问的话,这里的 CASE 看起来更具可读性和易懂性。
关于sql - 如何在单个命令中更新数据库列值(无 CASE/SWITCH)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37427441/