这句SQL语句怎么写

zhangxdd 2002-09-28 09:52:23
现在这样一个表:

type values
------ ---------
1 0.6
1 0.7
1 0.9
2 0.5
2 0.9
3 0.6
3 0.8

这句SQL语句要求返回如下结果
type values
------ ---------
1 0.378
2 0.45
3 0.48

即将表中类型相同的值相乘,在返回结果中同类型的值只显示积
...全文
25 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangxdd 2002-09-29
  • 打赏
  • 举报
回复
谢谢各位
Yang_ 2002-09-29
  • 打赏
  • 举报
回复
Sybase ASE 12.5,我和j9988(j9988) 都白写了!

用存储过程吧,用游标。
newly_ignorant 2002-09-29
  • 打赏
  • 举报
回复
指自定义函数
zhangxdd 2002-09-28
  • 打赏
  • 举报
回复
TO Yang_(扬帆破浪) :
为什么“注意只有2000能用:”
是指函数还是调用函数的SQL语句,

不知能不能在Sybase ASE 12.5中使用?
yeahnope 2002-09-28
  • 打赏
  • 举报
回复
-- 函数mulvale
CREATE FUNCTION mulvalue(@type integer)
RETURNS float
AS

BEGIN

DECLARE @mul float,@val float
SET @mul=1.0
DECLARE cur CURSOR FOR SELECT value FROM t WHERE type=@type
OPEN cur
FETCH NEXT FROM cur INTO @val
WHILE @@FETCH_STATUS=0
BEGIN
IF @val IS NOT NULL
SET @mul=@mul*@val
FETCH NEXT FROM cur INTO @val
END
CLOSE cur
DEALLOCATE cur

RETURN @mul
END

--调用函数
SELECT [type],dbo.mulvalue(type) FROM t GROUP BY [type]

你试试看。
Yang_ 2002-09-28
  • 打赏
  • 举报
回复
注意只有2000能用:

create table tableX(
Type int,
[Values] numeric(10,2)
)

insert tableX
select
1 , 0.6
union
select
1 , 0.7
union
select
1 , 0.9
union
select
2 , 0.5
union
select
2 , 0.9
union
select
3 , 0.6
union
select
3 , 0.8


create function getValues(@Type Int)
returns numeric(10,6)
as
begin
declare @Rec numeric(10,6)
set @Rec=1
select @Rec=@Rec*[values] from tableX
where type=@type
return @Rec
end
go


调用:
select distinct Type,dbo.getValues(Type) as [values]
from tableX

结果:
type values
------ ---------
1 .378000
2 .450000
3 .480000
j9988 2002-09-28
  • 打赏
  • 举报
回复
create function m (@type int)
returns decimal(10,3)
as
begin
declare @a decimal(10,3)
set @a=1
select @a=@a*value from t where type=@type
return @a
end
--语句:
select distinct type,dbo.m(type) from t
zhangxdd 2002-09-28
  • 打赏
  • 举报
回复
能不能帮忙大概写一个
先谢谢了
Yang_ 2002-09-28
  • 打赏
  • 举报
回复
写个自定义函数!

34,870

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧