日期:2014-05-18  浏览次数:20538 次

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

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

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

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

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

谢谢   在线等!!!



------解决方案--------------------
--try

create table jcfy(a int,b int,c int,d int,e int,f int)
create table fygz(x int, y int, z varchar(20))

create function fun(@a int, @b int, @c int)
returns int
as
begin
declare @ret int

select @ret=(case z when '体积 ' then @b*y when '托 ' then @c*y when '不区分 ' then y end)
from fygz
inner join jcfy on jcfy.a=fygz.x and jcfy.a=@a

return @ret
end