如何实现行列转换

如何实现行列转换

ID:20390484

大小:35.00 KB

页数:3页

时间:2018-10-13

如何实现行列转换_第1页
如何实现行列转换_第2页
如何实现行列转换_第3页
资源描述:

《如何实现行列转换》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、如何实现行列的转换?有关交叉表的应用作者:cg1摘自:access911.net编辑:cg1专题地址:http://access911.net/?kbid;72FAB01E16DCE8F3简述:如何实现行列的转换?有关交叉表的应用《查询》阅读前需掌握:熟练掌握JETSQL难度等级:我有如下这样一个格式的表:格式1列1列2名字1名字2第二列名字1第二列名字2名字1,名字2都是有顺序的,是一个名次排列,我如何将第二列的名字1排列到第一列的名字1后面呢?要加一个名次字段,然后将表格从格式2名次列1列21名字12名字21第二列名字12第二列名字2的格式排列为格式3名次列名字11名字121名字212第二

2、列名字122第二列名字2的表格,然后用交叉表查询向导生成一个交叉表查询,代码如下:TRANSFORMFirst(表2.名字)AS名字之第一条记录SELECT表2.名次FROM表2GROUPBY表2.名次PIVOT表2.列;即可,排列完成后就是以下格式:格式4名次121名字1第二列名字12名字2第二列名字2有人提问,如果我直接拿到的就是上述格式4,如何转换为格式3那样呢?直接用UNIONALL就可以实现了select名次,"1"as列,[1]fromtableunionallselect名次,"2"as列,[2]fromtable注意,现在有一些网友用SUM加IIF函数去实现交叉,access9

3、11强烈建议不要这样做,因为这样每条记录都需要去判断,效率极差。当然,同样的原理也适用SQLSERVER中用SUM加CASEWHEN的方法,但是SQLSERVER稍有不同,因为SQLSERVER对此优化比较好,速度不是很慢。问题:原数据表T(字段1)A(字段2)B(字段3)C(字段4)D(字段5)1A1B1C1D12A2B2C2D23A3B3C3D3新数据表T(字段1)M(字段2)N(字段3)1AA11BB11CC11DD12AA22BB22CC22DD23AA33BB33CC33DD3如何能把第一个表转换成第二个表!?回答:看最后一句SQL代码,就是用UNIONALL来转换的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。