找回密码
 立即注册

QQ登录

只需一步,快速开始

hellosirius

注册会员

11

主题

30

帖子

111

积分

注册会员

积分
111
hellosirius
注册会员   /  发表于:2021-2-24 13:25  /   查看:2463  /  回复:9
1金币
带公式的列无法通过汇总行进行求和,请问该如何解决?方便的话,麻烦举个例子,谢谢!
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

如果数据库字段没有设置默认值,有可能出现空值的话 建议这样写sql 语句 避免控制正常影响结果 mysql 查询: select * from 表名 where ifnull(字段名,'')=条件'' select * from 表名 where ifnull(字段名,'')'条件' 计算: select ifnull(字段a)+ifnull(字段b) mssql 查询: select * from 表名 where isnull(字段名,'')='条件' select * from 表名 where isnull(字段名,'')'条件' 计算: select ifnull(字段a)+i ...

10 个回复

倒序浏览
最佳答案
最佳答案
qtcxc活字格认证
高级会员   /  发表于:2021-2-24 13:25:25
来自 9#
如果数据库字段没有设置默认值,有可能出现空值的话 建议这样写sql 语句 避免控制正常影响结果

mysql
查询:
select * from 表名 where  ifnull(字段名,'')=条件''
select * from 表名 where  ifnull(字段名,'')<>'条件'
计算:
select ifnull(字段a)+ifnull(字段b)

mssql
查询:
select * from 表名 where  isnull(字段名,'')='条件'
select * from 表名 where  isnull(字段名,'')<>'条件'
计算:
select ifnull(字段a)+ifnull(字段b)

如果外联库是自己建的,建议创建时就注意设置默认值,尽量不要有null的情况出现,可以避免很多地方用sql 语句查询时的麻烦.

sqlite 查资料应该是有ifnull的函数的,不过活字格的公式字段里面没找到ifnull,或者你换成:

if(len([字段])=0,0,[字段])看看是不是可以得出你要的结果.
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-2-24 13:49:18
2#
您好,给您提共一个方案哈,您可以在表里添加一个公式字段,把需要的值计算出来,然后就可以社会汇总列了
公式字段:https://help.grapecity.com.cn/pa ... ion?pageId=46171814

本帖子中包含更多资源

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

x
回复 使用道具 举报
hellosirius
注册会员   /  发表于:2021-2-24 15:48:50
3#
公式求和,第一个字段加不上去,这是怎么回事呢?

本帖子中包含更多资源

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

x
回复 使用道具 举报
桂花酒酿丸子悬赏达人认证 活字格认证
高级会员   /  发表于:2021-2-24 15:49:59
4#
字段最好设置if(isblank(XXX),0,XXX)这样避免出现空字段不能用公式字段计算。
回复 使用道具 举报
Lucas.Su讲师达人认证 悬赏达人认证 活字格认证
葡萄城公司职员   /  发表于:2021-2-24 15:55:44
5#
您好,加不上去,是指无法求和吗?
可以查一下您的数据表字段类型是否为数值类型。
如果仍有问题,可以将您的问题demo上传一下,并描述一下您想要达到的效果哈
回复 使用道具 举报
qtcxc活字格认证
高级会员   /  发表于:2021-2-24 16:27:54
6#
另外给个思路,就是 建视图算好值,然后关联显示后 求和.
为什么这样做,是因为 活字格的 公式字段 支持的是sqlite语法有限很多写法不支持或写不出来,而看你的截图很明显你用的是外联表不是活字格自带的sqlite  那势必很多语法用公式字段写不出来,直接用sql写起来却很方便)

点评

视图中的值已经做了计算,只是一些基础的计算才放到页面来做的,全部放进视图计算不是很方便,感觉还是出现了空值导致公式没有执行,不知对于空值,除了if函数还是否有其他更好更简单的方法?  发表于 2021-3-1 14:03
回复 使用道具 举报
qtcxc活字格认证
高级会员   /  发表于:2021-2-24 16:31:19
7#
绕过了活字格的公式字段sqlite语法就不会被局限在固定的函数上了,只要sql能实现的算法都能算出来,比万一真的是数据类型不小心设错了无法直接加也可以转换数据类型后计算(当然数据类型错了新版本改起来也方便了,还是改成正确的数据类型更好)
回复 使用道具 举报
Lucas.Su讲师达人认证 悬赏达人认证 活字格认证
葡萄城公司职员   /  发表于:2021-2-24 17:03:23
8#
感谢楼上大佬的思路分享
回复 使用道具 举报
Lucas.Su讲师达人认证 悬赏达人认证 活字格认证
葡萄城公司职员   /  发表于:2021-3-3 17:26:01
10#
感谢楼上大佬的分享哈
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部