周一至周五 : 08:30 - 17:30 客服专员电话/微信:17301649370 QQ:2902102332
微信咨询

扫码微信咨询

关注公众号

关注微信公众号

电话: 021 5161 9370
返回顶部
SQL行列转置
显示全部楼层 倒序浏览 发表日期 2023-10-26 01:04:30 444次阅读 0次回复
本帖最后由 hong90342 于 2023-10-31 18:51 编辑

SQL行列转置



需求:一个考勤数据表,现需要按季度提取对应月份考勤数据。
考勤数据如下:
  1. SELECT F_52677 AS 年,F_52678 AS 月,F_52679 AS 胸卡号,F_52680 AS 应到,F_52681 AS 缺卡次数 FROM T_753 WHERE 1=1
复制代码
结果:
QQ截图20231026010121.png

需要把月的结果行转置到列,10月对应首月,11月对应次月,12月对应尾月,转换后SQL:
  1. SELECT F_52679 AS 胸卡号,sum(case when F_52678 = '10' then F_52680 end) AS 首月,sum(case when F_52678 = '10' then F_52681 end) AS 首月缺卡,sum(case when F_52678 = '11' then F_52680 end) AS 次月,sum(case when F_52678 = '11' then F_52681 end) AS 次月缺卡,sum(case when F_52678 = '12' then F_52680 end) AS 尾月,sum(case when F_52678 = '12' then F_52681 end) AS 尾月缺卡 FROM T_753  WHERE 1=1 group by F_52679
复制代码
结果:
QQ截图20231026010146.png

QQ2627049059
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则  允许回帖邮件提醒楼主

快表软件是国内较早研究表格类软件开发平台的团队之一,迄今已有十多年的行业经验.致力于为企事业单位提供实用可靠的数字化平台。
  • 微信公众号

  • 微信小商店

  • 微信客服

  • Powered by Discuz! X3.4 | Copyright © 2022-2024, XiRong Soft. | 快表软件
  • 沪ICP备13033196号 | 营业执照 |上海西戎软件科技有限公司|沪公网安备31011502002146号|沪ICP备13033196号 |