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

如何在SQL中将多列合并为一列?附表单数据场景需求

解决方案:合并多列唯一有效值并排序

这里有两种实用的SQL方案来实现你需要的视图,完全匹配你的需求场景:

方案一:使用COALESCE函数(推荐)

因为题目明确说明Col1、Col2、Col3仅有一列存在有效值,COALESCE函数可以完美适配这个场景——它会依次检查传入的列,返回第一个非空的值。

SELECT 
    Name,
    COALESCE(Col1, Col2, Col3) AS Col
FROM 
    YourTableName -- 替换成你的实际表名
ORDER BY 
    Col;

这个语句会直接提取每行里唯一的有效值作为Col列,最后按Col的数值排序,和你给出的示例输出完全一致。

方案二:使用CASE语句(兼容所有数据库)

如果你的数据库对COALESCE支持有限,可以用CASE语句来实现相同逻辑,逐个判断哪一列有非空值并返回:

SELECT 
    Name,
    CASE
        WHEN Col1 IS NOT NULL THEN Col1
        WHEN Col2 IS NOT NULL THEN Col2
        WHEN Col3 IS NOT NULL THEN Col3
    END AS Col
FROM 
    YourTableName -- 替换成你的实际表名
ORDER BY 
    Col;

这个写法逻辑更直观,适合需要明确判断条件的场景,同样能得到你想要的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:07:54