标题:数据表统计问题
只看楼主
Kerberos
Rank: 5Rank: 5
来 自:江苏扬州
等 级:职业侠客
帖 子:227
专家分:355
注 册:2012-9-11
结帖率:100%
已结贴  问题点数:20 回复次数:3 
数据表统计问题
培训记录.rar (9.64 KB)

是这样的,我想统计出每个季度经营管理人员(岗位分类为A和C的人员)并且“培训方式”为“内培”的人员课时,我写的代码如下:
SELECT CAST(CEILING(CAST(GETWORDNUM(培训时间,1,[]) AS N(2))/3) AS N(1)) 季度,SUM(INT(VAL(课时))) 课时 FROM 培训记录  WHERE   岗位分类=[A] or 岗位分类=[C] and 培训方式='内培' GROUP BY 1
统计出来的结果貌似不准确,我数了一下,结果是308,但是统计出来的结果是544,求大神指点!谢谢!
搜索更多相关主题的帖子: 人员 数据表 
2013-04-19 16:35
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
得分:8 
SELECT CAST(CEILING(CAST(GETWORDNUM(培训时间,1,[月]) AS N(2))/3) AS N(1)) 季度,SUM(INT(VAL(课时))) 课时 FROM 培训记录  WHERE   (岗位分类=[A] or 岗位分类=[C]) and 培训方式='内培' GROUP BY 1

如果是这样
结果是 482
2013-04-19 17:33
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
得分:4 
楼主忽略了and、or的优先级别。
2013-04-19 18:41
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:8 
WHERE   岗位分类=[A] or 岗位分类=[C] and 培训方式='内培'
可改为
WHERE INLIST(岗位分类,[A],[C]) AND ALLTRIM(培训方式)==[内培]

坚守VFP最后的阵地
2013-04-19 23:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-404857-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026247 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved