设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2424|回复: 9
打印 上一主题 下一主题

[查询] 如何在这个查询中,只统计其中A1和A2的数量,或者A开头和B开头的分别统计?

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2016-1-9 16:53:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如图,第一幅图是结果,内衣数本来是要统计A1和A2的值,而B1、B2、B3是内裤,我本来想分别统计的,请问怎么修改才可以使这里的内衣数只是统计A1和A2的值,我看了大部分都是必须统计的是全部的值。
TRANSFORM SUM(数量) AS S_NY
SELECT 销售编号,SUM(数量) AS 内衣数
FROM 子表
GROUP BY 销售编号
PIVOT 子表.[商品型号];


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
推荐
发表于 2016-1-10 20:13:16 | 只看该作者
  1. 销售编号        内衣数        内B数        A1        A2        B1        B2        B4
  2. 160101001        18        3        15        3        2        1       
  3. 160101002        3        4        1        2        1        3       
  4. 160102001        7        1        5        2                        1
复制代码



  1. TRANSFORM SUM(数量) AS S_NY
  2. SELECT 销售编号, SUM(iif(商品型号 like "A*",数量,0)) AS 内衣数,SUM(iif(商品型号 like "B*",数量,0)) AS 内B数
  3. FROM 子表
  4. GROUP BY 销售编号
  5. PIVOT 子表.[商品型号];
复制代码

回复 支持 1 反对 0

使用道具 举报

点击这里给我发消息

2#
 楼主| 发表于 2016-1-9 16:54:27 | 只看该作者
附件是我的表,可以查看里面的情况

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
3#
发表于 2016-1-10 04:14:22 | 只看该作者
bugou 不够等级下
4#
发表于 2016-1-10 04:25:36 | 只看该作者
不够等级下
5#
发表于 2016-1-10 04:36:25 | 只看该作者
你子表是什么样子的呢
6#
发表于 2016-1-10 09:19:51 | 只看该作者
看看这样行不行:

用IIF来设计列字段,如果类别较多,则建议使用基础表或者编写自定义函数。
详见附件:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

点击这里给我发消息

8#
 楼主| 发表于 2016-1-11 08:49:03 | 只看该作者

谢谢,测试成功。我不知道sum还可以里面使用语句的,也算是学艺不精啊。

点击这里给我发消息

9#
 楼主| 发表于 2016-1-11 08:52:51 | 只看该作者
roych 发表于 2016-1-10 09:19
看看这样行不行:

用IIF来设计列字段,如果类别较多,则建议使用基础表或者编写自定义函数。

不行,完全没有统计列了,而且我之后希望数据能更新到主表里面,如果对应不上主表的主键就没办法进行,谢谢回复,楼下的回复的很好,粘贴进SQL里面效果正好达到我的需要

点击这里给我发消息

10#
 楼主| 发表于 2016-1-11 09:38:43 | 只看该作者
本帖最后由 hshzhq 于 2016-1-11 14:21 编辑

我查看了下修改了,使用“先下车选4"朋友的只能计算有规律的字段的结果,如果使用In,就可以查询多条件字段的结果,例如我这里的字段如果是不相关的字,那么就不能使用”A*“,而使用in,就可以指定A1、A2、A3.....,也可以是任何名词。见下面代码。
-------------------------------------------------------------------------------------------------------------------------------------------
  1. TRANSFORM SUM(数量) AS S_NY
  2. SELECT 销售编号, SUM(iif(商品型号 like "A*",数量,0)) AS 内衣数, SUM(iif(商品型号 like "B*",数量,0)) AS 内裤数
  3. FROM 子表
  4. GROUP BY 销售编号
  5. PIVOT 子表.[商品型号];
复制代码

-----------------------------------------------------------------------------------------------------------------------------------------
  1. TRANSFORM SUM(数量) AS S_NY
  2. SELECT 销售编号, SUM(iif(商品型号 in ("A1","A2","A3"),数量,0)) AS 内衣数, SUM(iif(商品型号 in ("B1","B2","B4"),数量,0)) AS 内裤数
  3. FROM 子表
  4. GROUP BY 销售编号
  5. PIVOT 子表.[商品型号];
复制代码

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-10 16:50 , Processed in 0.105521 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表