SQL如何合并sku_i与sku_o列并使用相邻列值填充空值
合并sku字段的SQL实现方法
你可以根据使用的数据库类型选择以下任意一种方案,所有方案均满足空值自动填充的需求:
- 通用全数据库兼容方案:使用标准SQL函数
COALESCE
该函数会返回参数中第一个非空值,适配你提到的业务规则,所有主流SQL数据库(MySQL、PostgreSQL、SQL Server、Oracle等)均支持:SELECT COALESCE(sku_i, sku_o) AS merged_sku FROM 你的实际表名; - 可灵活扩展的通用逻辑方案:使用
CASE WHEN语句
如果后续需要新增判断规则,可以直接在该逻辑上扩展:SELECT CASE WHEN sku_i IS NOT NULL THEN sku_i ELSE sku_o END AS merged_sku FROM 你的实际表名; - MySQL专属简化方案:使用
IF函数
仅适用于MySQL环境,写法更简洁:SELECT IF(sku_i IS NOT NULL, sku_i, sku_o) AS merged_sku FROM 你的实际表名;
参考表结构:
内容的提问来源于stack exchange,提问作者Alvin Rachmat
相关产品推荐
相关产品推荐

