数据库问题

image.png

sqlserver数据库,数据库表样式如上,怎么通过存储过程将接单利润率直接算出。接单利润率不同部门都有,大概有7,8个。不能用update重复7,8次的方法。虽然这种方法也行,但有没有更简便的方法(数据库表的格式不能改变)

FineReport 帆软用户p9k8MX4NIW 发布于 2023-5-30 09:46
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-5-30 09:54(编辑于 2023-5-30 10:08)

公式有问题

利润率怎么能参与自身的计算,这不死循环了

image.png

------------

UPDATE T1 SET T1.值=(CASE WHEN ISNULL(T2.B,0)=0 THEN 1 ELSE ISNULL(T2.A,0)/T2.B END) FROM TABLENAME T1 INNER JOIN ( 

SELECT A.ID,A.值 [A],B.值 [B] FROM (

SELECT id,值 FROM TABLENAME WHERE 名称='接单利润额'

) A LEFT JOIN (

SELECT id,值 FROM TABLENAME WHERE 名称='接单额'

) B ON A.ID=B.ID

) T2 ON T1.ID=T2.ID WHERE T1.名称='接单利润率'

最佳回答
0
坚定的小帆薯Lv7高级互助
发布于2023-5-30 09:54

不知道理解错了没有?

主要按照表格获取对应值的内容

其中手动填写,指填写公式动态计算,还是填写结果值。

如果填写公式动态计算,有些难搞

如果结果值,就简单→相当于就两类,一类取值,做个填报表录入;一类为公式,按照公式计算即可吖

  • 帆软用户p9k8MX4NIW 帆软用户p9k8MX4NIW(提问者) 公式计算的话因为一些原因必须在数据库内完成,而不能在帆软进行。但数据库里面目前就只想想到用update更新,但这样的话,update重复的次数太多。我想追求一种更简单的写法就能将利润率算出来
    2023-05-30 09:58 
  • 2关注人数
  • 244浏览人数
  • 最后回答于:2023-5-30 10:08
    请选择关闭问题的原因
    确定 取消
    返回顶部