关于某个字段的值是一个公式的运算结果的问题

SuperKick 2005-07-15 10:59:45
问题如下:
有一个表存的是商品的信息,其中一个字段是进口价。现在要实现如下功能:建一个视图,该视图的一个字段叫销售价是根据进口价用一个公式:XSJ = ( ( JKJ * M ) + A ) / S 计算出来的。其中XSJ就是销售价,JKJ是进口价。 M,A,S是三个系数而且会经常变,所以没有办法只能存在一个配置参数表中,表名叫TSConfig,有两个字段:ID,TSConfigValue(其中ID = 1的记录存的就是M,其中ID = 2的记录存的就是A,其中ID = 3的记录存的就是S)。这样的话出现一个问题,如何用SQL实现把 M,A,S从TSConfig中读取出来然后用公式算出销售价?最好直接在视图中实现,先谢了!
...全文
136 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
子陌红尘 2005-07-15
  • 打赏
  • 举报
回复
create view v1 as
select
XSJ = (a.JKJ*isnull(b.M,0)+isnull(b.A,0))/isnull(b.S,1)
from
商品信息表 a,
(select
M = max(case ID when 1 then TSConfigValue end),
A = max(case ID when 2 then TSConfigValue end),
S = max(case ID when 3 then TSConfigValue end)
from
TSConfig) b
hsj20041004 2005-07-15
  • 打赏
  • 举报
回复
create view V_xsj
as

select XSJ = ( ( JKJ * (select isnull(TSConfigValue,0) from TSConfig where id=1) )
+(select isnull(TSConfigValue,0) from TSConfig where id=2)) /
(select isnull(TSConfigValue,0) from TSConfig where id=3 ) from 商品的信息表
子陌红尘 2005-07-15
  • 打赏
  • 举报
回复
create view v1 as
select
XSJ = (a.JKJ*b.M+b.A)/b.S
from
商品信息表 a,
(select
M = max(case ID when 1 then TSConfigValue end),
A = max(case ID when 2 then TSConfigValue end),
S = max(case ID when 3 then TSConfigValue end)
from
TSConfig) b

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧