求一个函数?
问题是这样的
有两个表 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