读书人

函数

发布时间: 2012-03-20 14:01:11 作者: rapoo

求一个函数?
问题是这样的
有两个表 jcfy, fygz
jcfy 有一下字段 a,b,c,d,e,f
fygz 有一下字段 a,y,z 其中z的值有三种情况, '体积 ', '托 ', '不区分 '

现在要一个这样的函数:
通过代人:a,b,c
由jcfy.a=fygz.a 时,

z的值就确定,
如果z的值= '体积 '
则求出:b*y

如果z的值= '托 '
则求出:c*y

如果z的值= '不区分 '
则求出:y

谢谢 在线等!!!

[解决办法]
用case ...when ... end
[解决办法]

select case when z= '体积 ' then b*y,when z= '托 ' then c*y, when z= '不区分 ' then y end as result from jcfy inner join fygz on jcfy.a=fygz.a
[解决办法]
try

Create Table jcfy(a Int, b Int, c Int, d Int, e Int, f Int)
Create Table fygz(a Int, y Int, z Varchar(20))
GO
Create Function F_GetZ(@a Int, @b Int, @c Int)
Returns Int
As
Begin
Declare @z Int

Select
@z = (Case z When '体积 ' Then b*y When '托 ' Then c*y When '不区分 ' Then y End)
From
fygz A
Inner Join
jcfy B
On A.a=B.a
Where B.a=@a And B.b = @b And B.c = @c

Return @z
End

读书人网 >SQL Server

热点推荐