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

MySQL如何按条件拆分列?实现编码与描述字段并排展示

解决方案

可以通过自连接或者条件聚合两种方式实现需求,将同一code对应的编码与描述合并到同一行:

方法1:自连接

通过将表与自身连接,关联条件为code相等,分别筛选did=271(编码)和did=285(描述)的记录:

SELECT 
    t1.source AS `source 1`,
    t2.source AS `source 2`,
    t1.code
FROM your_table t1
JOIN your_table t2 
    ON t1.code = t2.code
    AND t1.did = 271
    AND t2.did = 285;

方法2:条件聚合

使用CASE语句结合GROUP BY,按code分组后提取对应did的source值:

SELECT 
    MAX(CASE WHEN did = 271 THEN source END) AS `source 1`,
    MAX(CASE WHEN did = 285 THEN source END) AS `source 2`,
    code
FROM your_table
GROUP BY code;

输出结果

两种方法均可得到以下期望格式的结果:

+----------+-------------------+------------+
| source 1 | source 2          | code       |
+----------+-------------------+------------+
| 101      | MDI Reset         | 200300B8   |
| 102      | Parameterization  | 200300B9   |
+----------+-------------------+------------+

注意替换语句中的your_table为实际表名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 12:53:11