|
本帖最后由 咱家是猫 于 2011-10-24 22:59 编辑
几个朋友在ACCESS HOME群里问关于服装尺码与颜色多属性交叉查询出来的结果,尺码做为列标题后顺序无法从XS到XXXL自动排序.
原数据表数据如下图:
想得到的查询结果如下图:
于是我做了个例子给他们,我想这种主题在论坛上前辈肯定早已有发过,但既然例子也做出来了,就索性再具体讲下如何实现吧.
首先,我们可以利用查询向导生成一个交叉查询(当然,也可以自己在查询设计网格中编辑一个),下面依据照顾新手的原则,我帖出用查询向导制作的步骤图.
1 查询向导按钮在Access 2010里的位置,点击它.
2 在查询向导的第一步里选择交叉查询,然后确定
2.5 呵呵...发完帖子发现跳了一幅截图,那它就是2.5步骤吧. 这一步其实是选择数据来源,这例子中就只有一个表了.
3 选择以"颜色"做行标题,然后下一步.
4 选择以"尺码"为列标题,然后下一步:
5 选择以"数量"的合计(Sum)为值,然后下一步:
6 最后完成,打开查看查询结果.
7 这就是利用向导的引导下制作的一个交叉查询的结果:
8 现在就发现,上面的列标题有点乱,不是自己想要的从最小到最大尺码的排列顺序,怎么办?
打开刚刚生成的交叉查询的设计视图(如何打开设计视图?你可以在查询名上用右键单击,会有"设计视图"命令的.),然后在切换到SQL视图.如何切换,看下图找到SQL视图切换按钮.
9 至此,我们会看到几行SQL语句,这就是刚刚那个交叉查询的语句,语句如下:
TRANSFORM Sum(物品库存表.[数量]) AS 数量之合计
SELECT 物品库存表.[颜色], Sum(物品库存表.[数量]) AS [总计 数量]
FROM 物品库存表
GROUP BY 物品库存表.[颜色]
PIVOT 物品库存表.尺寸;
在语句的最后一行,是"PIVOT"行,现在,我们在它的"PIVOT"中强行设定对列的顺序,把最后一行改成:
PIVOT 物品库存表.尺寸 IN ("XS","S","M","L","XL","XXL","XXXL")
OK,保存查询设计,关闭查询设计,再打开那个查询.就成了帖子开头的满意的结果了.
赋上例子,两个Access版本的,2003与2007/2010的.
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|