求一函数

筱周 2011-03-30 10:14:39
两张表a和b,a表中一number型字段C,b表中两个number型字段D和E
求一函数计算这三个字段的和,a和b表通过ID关联,传入参数a表的ID
...全文
109 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
oO寒枫Oo 2011-03-30
  • 打赏
  • 举报
回复
create view sumtable
as
select a.ID, isnull(a.C,0)+isnull(b.D,0)+isnull(b.E,0) as sums
from a left join b on a.ID=b.ID
go
bluesmiler 2011-03-30
  • 打赏
  • 举报
回复
create function dbo.f_test (@id int)
returns table
as
return
select a.c+b.d+b.e from a,b
where a.id=b.id
and ID=@id
oO寒枫Oo 2011-03-30
  • 打赏
  • 举报
回复
你也可以建立一个试图 保存 2个字段 ID 和 三者的和
AcHerat 元老 2011-03-30
  • 打赏
  • 举报
回复

create function get_sum(@id int)
returns int
as
declare @sum int
select @sum = sum(a.c)+sum(b.d+b.e)
from a,b
where a.id = b.id and a.id = @id
return @sum
end
go
oO寒枫Oo 2011-03-30
  • 打赏
  • 举报
回复
看错了
筱周 2011-03-30
  • 打赏
  • 举报
回复
现在问题就是函数是准备用于视图中,视图是通过查询A表中数据返回结果,如果这样写的话,返回的结果可能是多行的,通过函数传入参数ID的话为了防止这一问题
dawugui 2011-03-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 zc870504 的回复:]
两张表a和b,a表中一number型字段C,b表中两个number型字段D和E
求一函数计算这三个字段的和,a和b表通过ID关联,传入参数a表的ID
[/Quote]


sekect a.c + b.d + b.e from a , b where a.id = b.id
oO寒枫Oo 2011-03-30
  • 打赏
  • 举报
回复

update a set a=b.D+b.E from a left join b on a.ID=b.ID
AcHerat 元老 2011-03-30
  • 打赏
  • 举报
回复

declare @id int
set @id = ???

select sum(a.c)+sum(b.d+b.e)
from a,b
where a.id = b.id and a.id = @id

--怎么还用函数呢?

34,592

社区成员

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

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