位置: 编程技术 - 正文

一个简单的SQL 行列转换语句(一个简单的群规怎么写)

编辑:rootadmin
一个简单的SQL 行列转换 Author: eaglet 在数据库开发中经常会遇到行列转换的问题,比如下面的问题,部门,员工和员工类型三张表,我们要统计类似这样的列表 部门编号 部门名称 合计 正式员工 临时员工 辞退员工 1 A 1 这种问题咋一看摸不着头绪,不过把思路理顺后再看,本质就是一个行列转换的问题。下面我结合这个简单的例子来实现行列转换。 下面3张表 描述部门,员工和员工类型之间的关系。 插入测试数据 看一下部门、员工和员工类型的列表 Department EmployeeName EmployeeType ---------- ------------ ------------ A Bob 正式 A John 临时 A May 正式 B Tom 正式 B Mark 辞退 B Ken 正式 现在我们需要输出这样一个列表 部门编号 部门名称 合计 正式员工 临时员工 辞退员工 这个问题我的思路是首先统计每个部门的员工类型总数 这个比较简单,我把它做成一个视图 现在 select * from VDepartmentEmployeeType Id Department EmployeeType Cnt ----------- ---------- ------------ ----------- 2 B 辞退 1 1 A 临时 1 1 A 正式 2 2 B 正式 2 有了这个结果,我们再通过行列转换,就可以实现要求的输出了 行列转换采用 case 分支语句来实现,如下: 看一下结果 部门编号 部门名称 正式 临时 辞退 合计 ----------- ---------- ----------- ----------- ----------- ----------- 1 A 2 1 0 3 2 B 2 0 1 3 现在还有一个问题,如果员工类型不可以应编码怎么办?也就是说我们在写程序的时候并不知道有哪些员工类型。这确实是一个 比较棘手的问题,不过不是不能解决,我们可以通过拼接SQL的方式来解决这个问题。看下面代码 执行结果如下: 部门编号 部门名称 辞退 临时 正式 合计 ----------- ---------- ----------- ----------- ----------- ----------- 1 A 0 1 2 3 2 B 1 0 2 3 这个结果和前面硬编码的结果是一样的,但我们通过程序来获取了所有的员工类型,这样做的好处是如果我们新增了一个员工类型,比如“合同工”,我们不需要修改程序,就可以得到我们想要的输出。 如果你的数据库是SQLSERVER 或以上,也可以采用SQLSERVER 通过的新功能 PIVOT 结果如下 部门编号 部门名称 正式 临时 辞退 ----------- ---------- ----------- ----------- ----------- 1 A 2 1 NULL 2 B 2 NULL 1 NULL 可以通过 ISNULL 函数来强制转换为0,这里我就不写出具体的SQL语句了。这个功能感觉还是不错,不过合计好像用这种方法不太好搞。不知道各位同行有没有什么好办法。

推荐整理分享一个简单的SQL 行列转换语句(一个简单的群规怎么写),希望有所帮助,仅作参考,欢迎阅读内容。

一个简单的SQL 行列转换语句(一个简单的群规怎么写)

文章相关热门搜索词:一个简单的灯笼,一个简单的群规怎么写,一个简单的群规内容,一个简单的sql注入漏洞检测工具,一个简单的sql注入漏洞检测工具,一个简单的微笑说说,一个简单的群规怎么写,一个简单的sql注入漏洞检测工具,内容如对您有帮助,希望把文章链接给更多的朋友!

SQLServer 常用语句(按功能分) 一、简单查询简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。例如,下面的语

SQLServer 管理常用SQL语句 1.查看数据库的版本select@@version2.查看数据库所在机器操作系统参数execmaster..xp_msver3.查看数据库启动的参数sp_configure4.查看数据库启动时间selectconvert(varch

SQL Server 中的触发器使用 下面我摘录了SQLServer官方教程中的一段关于触发器的文字,确实有用的一点文字描述。可以定义一个无论何时用INSERT语句向表中插入数据时都会执行的

标签: 一个简单的群规怎么写

本文链接地址:https://www.jiuchutong.com/biancheng/349441.html 转载请保留说明!

上一篇:Linq to SQL 插入数据时的一个问题

下一篇:SQLServer 常用语句(按功能分)(sqlserver的基本语句)

  • 一般纳税人商品混凝土税率
  • 企业留存的盈余公积属于哪个会计科目
  • 未交增值税最后到哪去了
  • 应收账款平均占用资金的变动额
  • 出口报关单上的运费和保费和实际不一致
  • 存货呆滞是什么意思
  • 报废车辆残值收入交多少增值税
  • 开出发票上有折扣的怎么入账?
  • 银行电子回单号码什么意思
  • 报税系统增值税纳税申报查询可以查几年的
  • 固定资产入账价值包括
  • 2020年职工福利费扣除比例
  • 股票红利税如何征收
  • 融资租赁收到租金不确认收入
  • 分期付款股权转让
  • 活动策划费属于哪一类
  • 收据能入账抵税吗
  • 房地产企业综合税率是多少
  • 小规模纳税人增值税优惠政策2023
  • 拿回费用票普票忘记入账怎么办?
  • 增值税包括土地整治收入吗
  • 增值税普通发票几个点
  • win11预览版怎么变回正式版
  • 金蝶软件反年结账怎么弄
  • 收到完税凭证怎么做账
  • 年度中间适用的预扣率高于全年综合所得年适用税率
  • php运行js代码
  • PHP curl 或 file_get_contents 获取需要授权页面的方法
  • 资产减值损失影响当期利润吗
  • 考拉妈妈打考拉
  • vue2:elementUI中Form 表单在特定情况下做动态rules添加删除
  • 其他流动资产是速动资产吗
  • php对接第三方支付教程
  • 检测费的税票税率怎么算
  • 数字图像处理期末试卷及答案
  • echarts series name
  • 用php写个简单的编程
  • 代扣车船税的会计处理
  • 长期借款的核算分为哪三个阶段
  • python判断字符串为字母
  • 新政府会计制度下的基建会计
  • access分组计数
  • 差旅费税前扣除政策
  • 营业税金及附加是什么科目
  • 应交税费减免税款的分录
  • 收到房租租金下什么科目
  • 公司购买承兑需要交税吗
  • 账外资产处理
  • 生产车间包括什么
  • 小规模纳税人转一般纳税人当月如何申报
  • 金税盘减免税款分录
  • 产品销售收入的确认条件
  • 企业应收账款的规模受哪些因素的影响?( )
  • 开办费没发票如何做账?
  • 材料采购成本包括买价和采购费用
  • 生产成本和制造费用期末有余额吗
  • 商业企业购进商品的分录
  • mysql数据库去重
  • 安装Win8 64位旗舰版系统提示“windows无法安装到这个磁盘”的故障分析及解决方法
  • windowsxp错误提示
  • mac怎样解压缩
  • centos添加子接口
  • centos gogs
  • 进程 com surrogate
  • linux安装fping
  • 制作linux的u盘安装盘
  • 用什么命令最简单
  • react 技巧
  • 插入排序_Python与PHP的实现版(推荐)
  • nodejs一键安装
  • javascript中的函数包括内置函数和自定义函数
  • javascript开发自学
  • node cgi
  • java教程csdn
  • python版本怎么选
  • 国税云厅官网
  • 施工企业应缴纳的税金计算
  • 福建网上税务局app
  • 一般纳税人附加税减半征收政策
  • 西安车辆购置税缴纳多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设