mysql 列转行

CREATE TABLE `process_demo` (  
    `process_id` VARCHAR(255) NOT NULL, -- 假设process_id是变长字符串类型  
    `porcess_type` INT(11) NOT NULL,    -- 假设porcess_type是整数类型  
    `process_name` VARCHAR(255) NOT NULL, -- 假设process_name是变长字符串类型  
    `operator` VARCHAR(50) NOT NULL,      -- 假设operator是变长字符串类型,存储操作者的标识或名称  
    `staff_name` VARCHAR(50) NOT NULL,    -- 假设staff_name是变长字符串类型,存储员工姓名  
    `process_after_status` VARCHAR(50) NOT NULL, -- 假设process_after_status是变长字符串类型,存储处理后的状态  
    `record_time` DATETIME NOT NULL,       -- 假设record_time是日期时间类型,存储记录时间  
    `result` VARCHAR(255) NOT NULL,        -- 假设result是变长字符串类型,存储结果描述  
    PRIMARY KEY (`process_id`) -- 假设process_id是主键  
);
INSERT INTO `process_demo` (`process_id`, `porcess_type`, `process_name`, `operator`, `staff_name`, `process_after_status`, `record_time`, `result`) VALUES ('0125179e6ea8492eae239fd2b2ebe65d', '4', '专科护士认证申请', '19*1', '*', 'nurse_4_apply', '2024-04-24 16:19:22', '发起专科护士认证申请');



INSERT INTO `process_demo` (`process_id`, `porcess_type`, `process_name`, `operator`, `staff_name`, `process_after_status`, `record_time`, `result`) VALUES ('0125179e6ea8492eae239fd2b2ebe65d', '4', '专科护士认证申请', '8*21', '*', '3_process_agree', '2024-04-24 16:34:47', '组长审批通过');

INSERT INTO `process_demo` (`process_id`, `porcess_type`, `process_name`, `operator`, `staff_name`, `process_after_status`, `record_time`, `result`) VALUES ('0125179e6ea8492eae239fd2b2ebe65d', '4', '专科护士认证申请', '65*4', '汪未*', '4_process_agree', '2024-04-24 16:44:45', '医疗护士长审批通过');

INSERT INTO `process_demo` (`process_id`, `porcess_type`, `process_name`, `operator`, `staff_name`, `process_after_status`, `record_time`, `result`) VALUES ('0125179e6ea8492eae239fd2b2ebe65d', '4', '专科护士认证申请', '6*81', '*', '5_process_agree', '2024-04-24 16:56:47', '总护士长审批通过');
SELECT   
    process_id,  
    porcess_type,  
    MAX(CASE WHEN process_after_status = 'nurse_4_apply' THEN operator ELSE NULL END) AS operator_nurse_4_apply,  
    MAX(CASE WHEN process_after_status = 'nurse_4_apply' THEN staff_name ELSE NULL END) AS staff_name_nurse_4_apply,  
    MAX(CASE WHEN process_after_status = 'nurse_4_apply' THEN record_time ELSE NULL END) AS record_time_nurse_4_apply,  
    MAX(CASE WHEN process_after_status = 'nurse_4_apply' THEN result ELSE NULL END) AS result_nurse_4_apply,  
    MAX(CASE WHEN process_after_status = '3_process_agree' THEN operator ELSE NULL END) AS operator_3_process_agree,  
    MAX(CASE WHEN process_after_status = '3_process_agree' THEN staff_name ELSE NULL END) AS staff_name_3_process_agree,  
    MAX(CASE WHEN process_after_status = '3_process_agree' THEN record_time ELSE NULL END) AS record_time_3_process_agree,  
    MAX(CASE WHEN process_after_status = '3_process_agree' THEN result ELSE NULL END) AS result_3_process_agree
FROM   
    process_demo  
WHERE   
    process_id = '0125179e6ea8492eae239fd2b2ebe65d' AND   
    porcess_type = '4'  
GROUP BY   
    process_id, porcess_type;
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值