答复
CREATE FUNCTION FN_NAME1
(@Tname varchar(10),
@Cname varchar(10),
@Classs varchar(20))
RETURNS DECIMAL(15,3)
AS
BEGIN
DECLARE @Nmber int,@suzlt decimal(15,3)
SELECT @Nmber=Max(Number) FROM PDATA WHERE Tname=@Tname and Cname=@Cname
SELECT @suzlt=(CASE @Nmber WHEN Number THEN 1 ELSE 0.7 END) FROM PDATA WHERE Tname=@Tname and Cname=@Cname and class=@Classs
RETURN @suzlt
END
SELECT Tname,Cname,Number,Class,dbo.fn_name1(Tname,Cname,class) FROM pdata