mysql中行转列的实现

最近有需求是需要根据值然后转换展示。
原来的sql检索出来的值为:
在这里插入图片描述
最终需要的值的格式为:
在这里插入图片描述
在mysql 中,实现的sql为:

SELECT beneficiaryID,k_user.RealName,k_user.FullName,k_user.mobile,
	SUM(CASE operationType WHEN 1 THEN JFS ELSE 0 END) AS '1',
	SUM(CASE operationType WHEN 2 THEN JFS ELSE 0 END)  AS '2',
	SUM(CASE operationType WHEN 3 THEN JFS ELSE 0 END)  AS '3',
	SUM(CASE operationType WHEN 4 THEN JFS ELSE 0 END ) AS '4',
	SUM(CASE operationType WHEN 5 THEN JFS ELSE 0 END)  AS '5',
	SUM(CASE operationType WHEN 6 THEN JFS ELSE 0 END)  AS '6',
	SUM(CASE operationType WHEN 7 THEN  JFS ELSE 0 END)  AS '7',
	SUM(CASE operationType WHEN 8 THEN JFS ELSE 0 END)  AS '8',
	SUM(CASE operationType WHEN 9 THEN JFS ELSE 0 END)  AS '9',
	SUM(CASE operationType WHEN 10 THEN JFS ELSE 0 END)  AS '10',
	SUM(CASE operationType WHEN 11 THEN JFS ELSE 0 END)  AS '11',
	SUM(CASE operationType WHEN 12 THEN JFS ELSE 0 END)  AS '12',
	SUM(CASE operationType WHEN 13 THEN JFS ELSE 0 END)  AS '13',
	SUM(CASE operationType WHEN 14 THEN JFS ELSE 0 END)  AS '14',
	SUM(CASE operationType WHEN 15 THEN JFS ELSE 0 END)  AS '15'
FROM T LEFT JOIN k_user ON T.beneficiaryID = k_user.UserName 
	GROUP BY beneficiaryID,k_user.RealName,k_user.FullName,k_user.mobile 

中间这段sql 在数据库是拼接起来的。
是根据另外一个表,检索出来所有的operationType,然后循环拼接。

之前也有做过datatable里面行专列,后续再来记录。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值