起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2973|回复: 7

[结贴] sum() 如何返回0

[复制链接]

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
发表于 2017-4-10 14:46:18 | 显示全部楼层 |阅读模式
版本: BeX5V3.5 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
设有合同表:contract (ID,NAME)
收费记录表:receipt (ID,AMOUNT,MAINID)
现在外连接查询
  1. select c,name,sum(r.amount) from contract c left join receipt r on r.mainID = c.ID
复制代码
当对应的合同无收费记录时,sum查询是空,而不是显示0。如果操作让其显示0?
可以看下图:若无收款记录,应为0,但是这儿为空,导致我后面的计算也出现问题(总金额 减去 NULL 不能正常显示)
微信截图_20170410144444.png



及时结贴是个好习惯

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2017-4-10 15:20:41 | 显示全部楼层
对r.amount用case  when
设置没有值的时候为0
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
 楼主| 发表于 2017-4-11 11:20:57 | 显示全部楼层
jishuang 发表于 2017-4-10 15:20
对r.amount用case  when
设置没有值的时候为0

用了case后,在查询编辑器中只能使用源码模式了?用设计模式会报错。语句是能执行成功的 微信截图_20170411111706.png

还有重要的一点是,如果我报表中的ksql使用了case when,那么切换到报表设计时候会保存,因为不识别吧。这样会导致右边的字段无法正常拉取出来

及时结贴是个好习惯
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2017-4-11 13:42:41 | 显示全部楼层
设计的提示不用处理,源码中正确就可以

切换到报表设计时候会保存,因为不识别吧什么意思?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

179

主题

709

帖子

2090

积分

金牌会员

QQ:1262363236

Rank: 6Rank: 6

积分
2090
QQ
发表于 2017-4-11 14:21:12 | 显示全部楼层
可以使用  nvl(字段名,0)  as   XXX   来变成0
QQ:1262363236
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
 楼主| 发表于 2017-4-11 15:24:39 | 显示全部楼层
fcci 发表于 2017-4-11 14:21
可以使用  nvl(字段名,0)  as   XXX   来变成0

这个是oracle的写法吧
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2017-4-11 17:13:27 | 显示全部楼层
KSQL中可以用SQL.调用数据库的本地函数

SQL.nvl(字段名,0)
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
 楼主| 发表于 2017-4-13 15:34:00 | 显示全部楼层
jishuang 发表于 2017-4-11 17:13
KSQL中可以用SQL.调用数据库的本地函数

SQL.nvl(字段名,0)

结贴
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-27 10:14 , Processed in 0.066326 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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