You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SELECT语句中为Type='B'的行复制first_value到second_value?

当然可以实现这个需求!

咱们先看看你现有语句里的小问题,再给出正确的写法:

你现有语句的问题:

  • 拼写错误:firt_value应该是first_value
  • CASE语句没有处理type='C'的场景,也没考虑其他类型(比如示例里的'A')的情况
  • 列名不一致:原表列是descripcion,你写的是description

正确的SELECT语句写法

这里我们用完整的CASE表达式来覆盖所有需求场景,同时修正拼写和列名问题:

SELECT 
    id, 
    descripcion,
    type, 
    first_value,
    CASE 
        WHEN type = 'B' THEN first_value  -- type为B时复制first_value的值
        WHEN type = 'C' THEN NULL         -- type为C时留空(这里用NULL表示空值,若要空字符串可换成'')
        ELSE second_value                 -- 其他type(比如示例里的'A')保留原second_value的值
    END AS second_value
FROM your_table; -- 记得替换成你实际的表名

补充说明:

  • 如果你的业务里只有A、B、C三种type,ELSE分支可以省略,但加上会更严谨,避免出现未知type时返回意外结果
  • 如果你希望type='C'时返回的是空字符串(而不是数据库的NULL空值),把NULL换成''即可

内容的提问来源于stack exchange,提问作者bryannsi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:46:23