当前位置: 首页 > wzjs >正文

自己学做网站国际新闻 军事

自己学做网站,国际新闻 军事,宜城住房和城乡建设委员会网站,wordpress函数手册下载概念 -- 把数据从列的转台转为行的状态-- 涉及查询数据的透视状态,将来自单个记录中多个列的值扩展为单个列中具有相同值的多个记录-- 也就是把透视表中的每个源行潜在地转换为多个行示例表继续使用上一篇博客,TempDB dbo.Orders 表。 T-SQL 语言基础&a…

概念

-- 把数据从列的转台转为行的状态-- 涉及查询数据的透视状态,将来自单个记录中多个列的值扩展为单个列中具有相同值的多个记录-- 也就是把透视表中的每个源行潜在地转换为多个行

示例表继续使用上一篇博客,TempDB dbo.Orders 表。
T-SQL 语言基础:透视转换

SELECT empid, A, B, C, D
INTO dbo.EmpCustOrders
FROM (SELECT empid, custid, qtyFROM dbo.orders
) D
PIVOT(SUM(qty) FOR custid IN(A, B, C, D)) PSELECT * FROM dbo.EmpCustOrders

输出:

image_alt_text

逆透视转换处理

标准 SQL 实现

使用标准 SQL 进行逆透视转换,有3个处理阶段:

  1. 生成副本
  2. 提取元素
  3. 删除不相关的交叉

– 解决方案:
步骤 1:

-- 根据源表的每一行生成多个副本(为需要逆透视的每个列生成副本)-- 可以使用笛卡尔积(交叉联接)生成每行的多个副本
SELECT *
FROM dbo.EmpCustOrdersCROSS JOIN (VALUES('A'), ('B'), ('C'), ('D')) AS CUSTS(CUSTID)
-- 每一行来自 dbo.EmpCustOrders 表的数据都与 CUSTS 表中的每个值组合,生成所有可能的行组合。
-- AS CUSTS(CUSTID) 这部分代码的作用是为值构造器创建的虚拟表命名,并命名该表的列。通过 CROSS JOIN,您可以生成两个表的笛卡尔积,得到所有可能的行组合。

输出:

image_alt_text

解释:

-- 实际上以上操作,为源表每行生成4个副本
-- SQL Server 2008 之前的版本中, 使用 UNION ALL
SELECT *
FROM dbo.EmpCustOrdersCROSS JOIN ( select ('A') AS custidUNION ALL SELECT ('B') UNION ALL SELECT('C')UNION ALL SELECT('D')) AS CUSTS;

输出:

image_alt_text

步骤 2:

-- 生成数据列 qty,由它返回与当前副本所代表客户相对应的列值-- 当前 custid 的值为 A 时,则 qty 列返回 A 列值
SELECT empid,custid,CASE custid	when 'A' THEN Awhen 'B' THEN Bwhen 'C' THEN Cwhen 'D' THEN DEND AS qty
FROM dbo.EmpCustOrdersCROSS JOIN (VALUES('A'), ('B'), ('C'), ('D')) AS CUSTS(CUSTID)

输出:

image_alt_text

步骤 3:

-- 过滤 NUL 值
-- 最终完整实现
SELECT * FROM(SELECT empid,custid,CASE custid	when 'A' THEN Awhen 'B' THEN Bwhen 'C' THEN Cwhen 'D' THEN DEND AS qtyFROM dbo.EmpCustOrders CROSS JOIN (VALUES('A'), ('B'), ('C'), ('D')) AS CUSTS(CUSTID) 
) D
where qty IS NOT NULL; 

输出:

image_alt_text

T-SQL 逆透视转换

使用 T-SQL UNPIVOT 运算符进行逆透视转换

-- 对数据进行逆透视转换时,会为源表中想要进行逆透视的任意列生成两个结果列
-- 示例中, 对源表 A/ B/ C/ D进行逆透视,生成两个结果列 custid 和 qty-- 前者用于保存源表列的名称,后者用于保存源表列的值
SELECT empid, custid, qty
FROM dbo.EmpCustOrdersUNPIVOT(qty FOR custid IN(A, B, C, D))  U;
-- 经过透视转换后,保存下来的只是操作的所有聚合结果
-- 而逆透视转换后不会丢失任何信息和数据

输出:

image_alt_text

总结

逆透视转换功能强大,用于转换和汇总数据。可以高效地创建复杂报告并执行高级数据分析。

引用

  • SQL Server Documentation

数据库脚本下载

TSQLFundamentals2008


**喜欢的话,请收藏 | 关注(✪ω✪)**
……**万一有趣的事还在后头呢,Fight!!(o^-^)~''☆ミ☆ミ**……
http://www.dtcms.com/wzjs/347211.html

相关文章:

  • 郑州做商城网站企业网站建设制作
  • 企业服务中心工作内容唐山seo快速排名
  • 湖南郴州旅游十大必去景区刷百度关键词排名优化
  • 什么网站做简历模板关系网站优化公司
  • 做网站三网多少钱手机百度网页版 入口
  • 企业网站模板湖南岚鸿模板百度 seo排名查询
  • 安徽建设工程网站网络营销方案总结
  • 建设项目试运行备案申请网站竞价推广托管公司价格
  • 动易网站 教程百度网盘app下载安装 官方下载
  • 武汉专业建网站怎么做优化关键词
  • 网站建设品牌策划方案永久免费二级域名申请
  • 网片加工厂家泰州网站排名seo
  • wordpress特色图像插件谷歌seo网站排名优化
  • 企业门户网站建设方案后台管理网红推广团队去哪里找
  • 揭阳网站建设方案外包黑龙江今日新闻
  • 乌海网站制作整站优化和单词
  • 可视化网站建设平台南宁seo产品优化服务
  • 怎么做外贸网站seo深圳最新通告今天
  • 做外贸的人常用的网站橘子seo历史查询
  • 光辉网络 石家庄网站建设百度云资源共享
  • wordpress进入后台空白商品标题seo是什么意思
  • 学校网站平台建设方案网站优化价格
  • 源代码代做网站优化营商环境发言材料
  • 专业做婚庆的网站专业关键词优化平台
  • 怎么做视频网站教程烟台网络推广
  • 合肥网站建设哪家好网络营销平台排名
  • 企业宽带 做网站站长统计app最新版本2023
  • 衢州做网站的公司焊工培训
  • 私服网站建设百度开户推广多少钱
  • 建站公司推广北京自动网络营销推广