Office中国论坛/Access中国论坛

标题: 交叉表回转 [打印本页]

作者: wwjing    时间: 2009-3-24 14:42
标题: 交叉表回转
各位大虾,怎样才能把表1转换为表2呢!

  转换规则是表2中只显示表1中true的数据!
作者: todaynew    时间: 2009-3-24 15:08
这就是用联合查询吗
作者: ynjxw    时间: 2009-3-24 15:09
俺也需要
作者: todaynew    时间: 2009-3-24 15:54
本帖最后由 todaynew 于 2009-3-24 16:01 编辑
俺也需要
ynjxw 发表于 2009-3-24 15:09


[attach]36888[/attach]
查询:
SELECT 商店号, iif(产品1=yes,"产品1","") AS 产品 FROM 表1
UNION ALL SELECT 商店号, iif(产品2=yes,"产品2","") AS 产品 FROM 表1
UNION ALL SELECT 商店号, iif(产品3=yes,"产品3","") AS 产品 FROM 表1
UNION ALL SELECT 商店号, iif(产品4=yes,"产品4","") AS 产品 FROM 表1
UNION ALL SELECT 商店号, iif(产品4=yes,"产品4","") AS 产品 FROM 表1;
转置查询:
SELECT 查询.商店号, 查询.产品
FROM 查询
WHERE (((查询.产品)<>""))
ORDER BY 查询.商店号;


select * from
(SELECT 商店号, iif(产品1=yes,"产品1","") AS 产品 FROM 表1
UNION ALL SELECT 商店号, iif(产品2=yes,"产品2","") AS 产品 FROM 表1
UNION ALL SELECT 商店号, iif(产品3=yes,"产品3","") AS 产品 FROM 表1
UNION ALL SELECT 商店号, iif(产品4=yes,"产品4","") AS 产品 FROM 表1
UNION ALL SELECT 商店号, iif(产品4=yes,"产品4","") AS 产品 FROM 表1)  as a
where a.产品<>"";
作者: ynjxw    时间: 2009-3-24 16:18
可能我的情况比较复杂,我的成绩分析表里的除学号外,其他字段的字段名和字段数量都是变化的,每次都不同,请教怎么解决才好。谢谢
作者: todaynew    时间: 2009-3-24 16:30
可能我的情况比较复杂,我的成绩分析表里的除学号外,其他字段的字段名和字段数量都是变化的,每次都不同,请教怎么解决才好。谢谢
ynjxw 发表于 2009-3-24 16:18

那可能比较麻烦,对此问题唯ACMAIN_CHM 解来顺手。我只能试试看。
作者: ynjxw    时间: 2009-3-24 16:36
谢谢
作者: todaynew    时间: 2009-3-24 16:41
谢谢
ynjxw 发表于 2009-3-24 16:36

你要的好像是交叉查询,论坛这样的例子很多,可搜索查一下。
如果是从成绩分析表转置到成绩表,好像表这样设计有点Excel的味道,不是太合理。
作者: ynjxw    时间: 2009-3-24 17:27
呵呵,本身我们管理是用成绩表,但是有的班级报送成绩的时候是按成绩分析来制表的,所以就不好导入。
作者: luhao    时间: 2009-3-24 18:14
动态显示,未学过
作者: todaynew    时间: 2009-3-24 18:15
呵呵,本身我们管理是用成绩表,但是有的班级报送成绩的时候是按成绩分析来制表的,所以就不好导入。
ynjxw 发表于 2009-3-24 17:27

这个好办,在Excel中复制--选择性粘贴--转置,将数据先排列好,再导入Access,或直接在Excel中处理。
作者: ynjxw    时间: 2009-3-25 08:20
我试过,有些不符合
作者: Henry D. Sy    时间: 2009-3-25 09:16
搜索fans有例子,
作者: lhsh    时间: 2009-5-2 10:20
我也想学学




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3