ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3584|回复: 5

[求助] 关于SQL语句遇到groupby 后字段空白值Sum函数失灵的问题,这是SQL本身的bug吗?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-5-27 19:20 | 显示全部楼层 |阅读模式
前几天我发 了一贴求教:
http://club.excelhome.net/thread-1019933-1-1.html
在网友的帮助下,总算初步找到了原因,是由于两行中的工程项目是空白字符造成的.(注意是空白字符,即"",不是null),那么问题又来了,难道说,当某个字符型字段的值 为""时,SQL会不认为""="",从而不予汇总吗?
为了突出我说的问题,我将附件作了精简,很明显,如果我把原始数据中的""改为任意其他有内容的值,甚至改为" "(注意引号中间加了一个空格),刷新后就可以正常汇总.
这难道是SQL的一个bug吗?
请看附件

凭证导入金蝶模板(通用1).rar (25.4 KB, 下载次数: 24)

TA的精华主题

TA的得分主题

发表于 2013-5-28 09:42 | 显示全部楼层
真不知朋友,你为何要加个=""这样的条件,不加这个原代码也可以得到结果啊,直接用数据透视表亦可以得到结果。
如果一定要SQL的话,可以用以下代码:


  1. select 序号,借方金额,mid(工,2,4) as 工程项目 from (select 序号,sum(金额) as 借方金额,'z'&借方工程项目 as 工 from [数据底稿$] where 序号 group by 序号,'z'&借方工程项目)
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-5-28 18:41 | 显示全部楼层
mps777 发表于 2013-5-28 09:42
真不知朋友,你为何要加个=""这样的条件,不加这个原代码也可以得到结果啊,直接用数据透视表亦可以得到结果 ...

谢谢小麦老师:
之所以没有直接做,是由于我为了反映问题,将与想解决问题无关的一些环节作了简化.

1\之所以并且没有直接用透视表,是由于我事先将案例作了简化,原案例是不能直接用透视表的, 要用union all 组合一下原始数据
2,要加上="",是由于,原来的工程项目是用类似=if(iserror(判断公式),"","工程项目")得到的.这样,借方工程项目字段就可能是"工程项目"或者空白两种值. 为了突出出现空白值出现不能汇总的问题,我特意将公式简化为=""

麦大侠的方法固然得到了正确的结果,但原来的方法得不到正确的结果却仍然令人迷惑.事实上,在我的实际案例上,亦不需使用麦大侠的方法,只要将原来公式=if(iserror(判断公式),"","工程项目")的"",变成"  ",即引号中加一个空格即可.

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-5-28 18:52 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
另外,吴版经过测试,直接用2010版的重新连接一下,就可以得到汇总结果,我重现一下吴版的试验,的确是这样,那这是否可以认为是2003版的bug?

TA的精华主题

TA的得分主题

发表于 2013-5-28 19:47 | 显示全部楼层
pdamen 发表于 2013-5-28 18:52
另外,吴版经过测试,直接用2010版的重新连接一下,就可以得到汇总结果,我重现一下吴版的试验,的确是这样,那这 ...

版本越高,当然会将低版本出现的错误皆解决的啊,用07不会处理不可见字符,而10的就处理掉了。
试问03版本的能打开10版本的文件吗?所以不是说03的缺陷,而是一直以来都有的,直到高版本出现,这些缺陷才得到解决。

TA的精华主题

TA的得分主题

发表于 2013-5-29 13:05 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
可使用以下函数去除不可见字符:
QQ截图20130529130943.png
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 20:43 , Processed in 0.040654 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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