首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

函数

2012-03-20 
求一个函数?问题是这样的有两个表jcfy,fygzjcfy有一下字段a,b,c,d,e,ffygz有一下字段a,y,z其中z的值有三种

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

热点排行