使用同一列中的值更新表中的唯一列

Posted

技术标签:

【中文标题】使用同一列中的值更新表中的唯一列【英文标题】:Update the only column in table with using values from the same column 【发布时间】:2020-05-04 19:07:03 【问题描述】:

我有一个表,其中有一列(比如名称)有两个不同的值“A”和“B”,现在我想将 A 的所有行更新为 B,将 B 的所有行更新为 A。

我知道我们可以使用第三个值然后实现更新,但我们有任何单一的查询解决方案吗?

【问题讨论】:

这是 SQL 的基本测试。只需搜索一下即可找到答案 简单,UPDATE YourTable SET Name = CASE Name WHEN 'A' THEN 'B' ELSE 'A' END; 【参考方案1】:

您可以使用条件表达式在单个语句中执行此操作:

update mytable
set name = case name
    when 'A' then 'B'
    when 'B' then 'A'
end

【讨论】:

以上是关于使用同一列中的值更新表中的唯一列的主要内容,如果未能解决你的问题,请参考以下文章

根据表中其他列的值从同一表中的 2 列中选择信息

用另一个表中同一列的值替换列中的字符串值

将数据复制到同一张表和从同一表复制数据,并将复制数据的一列中的值更改为指定值

使用唯一的递增值更新表中的 int 列

根据另一列中的值更新 BigQuery 中的嵌套数组

将列更新为连接列中的值