如何實作行列的轉換?有關交叉表的應用
<script language="javascript" type="text/javascript"> function addtitle(){ var straddtitle = "如何實作行列的轉換?有關交叉表的應用"; if (straddtitle.length!==0){ document.title=document.title + "《" + straddtitle + "》;專題号:72FAB01E16DCE8F3"; } } </script>
專題位址: http://access911.net/?kbid;72FAB01E16DCE8F3 |
簡述: 如何實作行列的轉換?有關交叉表的應用《查詢》 閱讀前需掌握: 熟練掌握 JET SQL 難度等級: <script language="javascript" src="/rewrite.asp?mode=writelevel&l=100" type="text/javascript"> </script> 100 | | | | | | | | |
我有如下這樣一個格式的表: 格式1 列1 列2 名字1 名字2 第二列名字1 第二列名字2 | 名字1,名字2 都是有順序的,是一個名次排列,我如何将第二列的名字1排列到第一列的名字1後面呢? 要加一個名次字段,然後将表格從 格式2 名次 列1 列2 1 名字1 2 名字2 1 第二列名字1 2 第二列名字2 | 的格式排列為 格式3 名次 列 名字 1 1 名字1 2 1 名字2 1 2 第二列名字1 2 2 第二列名字2 | 的表格,然後用交叉表查詢向導生成一個交叉表查詢,代碼如下: TRANSFORM First(表2.名字) AS 名字之第一條記錄 SELECT 表2.名次 FROM 表2 GROUP BY 表2.名次 PIVOT 表2.列; | 即可,排列完成後就是以下格式: 格式4 名次 1 2 1 名字1 第二列名字1 2 名字2 第二列名字2 | 有人提問,如果我直接拿到的就是上述格式4,如何轉換為格式3那樣呢? 直接用 UNION ALL 就可以實作了 select 名次,"1" as 列,[1] from table union all select 名次,"2" as 列,[2] from table | |