ACCESS中如何实现行列的转换?有关交叉表的应用

如何实现行列的转换?有关交叉表的应用

<script language="javascript" type="text/javascript"> function addtitle(){ var straddtitle = "如何实现行列的转换?有关交叉表的应用"; if (straddtitle.length!==0){ document.title=document.title + "《" + straddtitle + "》;专题号:72FAB01E16DCE8F3"; } } </script>

 

我有如下这样一个格式的表:
格式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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值