Office中国论坛/Access中国论坛
标题:
如何在这个查询中,只统计其中A1和A2的数量,或者A开头和B开头的分别统计?
[打印本页]
作者:
hshzhq
时间:
2016-1-9 16:53
标题:
如何在这个查询中,只统计其中A1和A2的数量,或者A开头和B开头的分别统计?
如图,第一幅图是结果,内衣数本来是要统计A1和A2的值,而B1、B2、B3是内裤,我本来想分别统计的,请问怎么修改才可以使这里的内衣数只是统计A1和A2的值,我看了大部分都是必须统计的是全部的值。
TRANSFORM SUM(数量) AS S_NY
SELECT 销售编号,SUM(数量) AS 内衣数
FROM 子表
GROUP BY 销售编号
PIVOT 子表.[商品型号];
作者:
hshzhq
时间:
2016-1-9 16:54
附件是我的表,可以查看里面的情况
作者:
先下车选4
时间:
2016-1-10 04:14
bugou 不够等级下
作者:
先下车选4
时间:
2016-1-10 04:25
不够等级下
作者:
先下车选4
时间:
2016-1-10 04:36
你子表是什么样子的呢
作者:
roych
时间:
2016-1-10 09:19
看看这样行不行:
[attach]57821[/attach]
用IIF来设计列字段,如果类别较多,则建议使用基础表或者编写自定义函数。
详见附件:
[attach]57822[/attach]
作者:
先下车选4
时间:
2016-1-10 20:13
销售编号 内衣数 内B数 A1 A2 B1 B2 B4
160101001 18 3 15 3 2 1
160101002 3 4 1 2 1 3
160102001 7 1 5 2 1
复制代码
TRANSFORM SUM(数量) AS S_NY
SELECT 销售编号, SUM(iif(商品型号 like "A*",数量,0)) AS 内衣数,SUM(iif(商品型号 like "B*",数量,0)) AS 内B数
FROM 子表
GROUP BY 销售编号
PIVOT 子表.[商品型号];
复制代码
作者:
hshzhq
时间:
2016-1-11 08:49
先下车选4 发表于 2016-1-10 20:13
谢谢,测试成功。我不知道sum还可以里面使用语句的,也算是学艺不精啊。
作者:
hshzhq
时间:
2016-1-11 08:52
roych 发表于 2016-1-10 09:19
看看这样行不行:
用IIF来设计列字段,如果类别较多,则建议使用基础表或者编写自定义函数。
不行,完全没有统计列了,而且我之后希望数据能更新到主表里面,如果对应不上主表的主键就没办法进行,谢谢回复,楼下的回复的很好,粘贴进SQL里面效果正好达到我的需要
作者:
hshzhq
时间:
2016-1-11 09:38
本帖最后由 hshzhq 于 2016-1-11 14:21 编辑
我查看了下修改了,使用“先下车选4"朋友的只能计算有规律的字段的结果,如果使用In,就可以查询多条件字段的结果,例如我这里的字段如果是不相关的字,那么就不能使用”A*“,而使用in,就可以指定A1、A2、A3.....,也可以是任何名词。见下面代码。
-------------------------------------------------------------------------------------------------------------------------------------------
TRANSFORM SUM(数量) AS S_NY
SELECT 销售编号, SUM(iif(商品型号 like "A*",数量,0)) AS 内衣数, SUM(iif(商品型号 like "B*",数量,0)) AS 内裤数
FROM 子表
GROUP BY 销售编号
PIVOT 子表.[商品型号];
复制代码
-----------------------------------------------------------------------------------------------------------------------------------------
TRANSFORM SUM(数量) AS S_NY
SELECT 销售编号, SUM(iif(商品型号 in ("A1","A2","A3"),数量,0)) AS 内衣数, SUM(iif(商品型号 in ("B1","B2","B4"),数量,0)) AS 内裤数
FROM 子表
GROUP BY 销售编号
PIVOT 子表.[商品型号];
复制代码
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3