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

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中读取出来然后用公式算出销售价?最好直接在视图中实现,先谢了!
...全文
83 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过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
回复
相关推荐
发帖
应用实例
创建于2007-09-28

2.7w+

社区成员

MS-SQL Server 应用实例
申请成为版主
帖子事件
创建了帖子
2005-07-15 10:59
社区公告
暂无公告