以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  sql round 问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=110551)

--  作者:Springamy
--  发布时间:2017/12/5 11:47:00
--  sql round 问题

round(isnull(sjje,0),2) As 实际金额  正数

round(isnull(btje,0),2) as 补贴金额  负数

round(isnull(round(isnull(sjje,0),2)-round(isnull(bcte,0),2)),2) as 汇总金额

 

dada.在sql 语句中, 实际金额和补贴金额已显示出来了,要添加一个列 汇总金额,把补贴金额转换成正数和实际金额相加

round(isnull(round(isnull(sjje,0),2)-round(isnull(bcte,0),2)),2) as 汇总金额

 但是我这样写整个sql报错,去掉的话又好了,请问这个实际金额-补贴金额的计算公式怎么写呀,我这个写法哪里有错?
--  作者:Springamy
--  发布时间:2017/12/5 11:48:00
--  

round(isnull(round(isnull(sjje,0),2)-round(isnull(btje,0),2)),2) as 汇总金额  是这样的 上面写错了一个字母


--  作者:有点色
--  发布时间:2017/12/5 11:52:00
--  
round(isnull(sjje,0),2)-round(isnull(btje,0),2) as 汇总金额 
--  作者:Springamy
--  发布时间:2017/12/7 16:37:00
--  

谢谢色大!

round(isnull(htje,0) ,2) 订单金额

round(isnull(fkje,0),2) 已付金额

round(isnull(bcje,0),2) 补贴金额

未付金额 = 订单金额 +补贴金额 -已付金额

我下面写的公式对吗?SQL老报错,找不到哪里错了,不确定是不是这个公式有问题

请大大帮看一下

 

 

round(isnull(round(isnull(round (isnull(htje,0),2)+round(isnull(bcje,0),2),0),2)- round(isnull(fkje,0),2),0),2) as 未付金额


--  作者:有点甜
--  发布时间:2017/12/7 17:05:00
--  

不明白你为什么要这样,直接用不就好了?

 

round(isnull(htje,0),2) + round(isnull(fkje,0),2) - round(isnull(bcje,0),2) as 未付金额