怎么返回表?

大宇_ 2006-08-22 04:38:53
有一个表a,一个函数b(编号)


declare @tb table(编号,money)
declare @meony decimal(19,6)
for(int i=0;i<a.count,i++)
{
@meony=select sum(金额) from b(a.编号)
instert into tb (编号,money) values (a.编号,@meony)
}
项实现这样的SQL,不知道怎么写
...全文
171 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
i9988 2006-08-22
  • 打赏
  • 举报
回复
我说的改写函数的意思是,如果你的函数b是自定义的,那可以改写函数b,直接返回汇总值,而不必返回记录集


i9988 2006-08-22
  • 打赏
  • 举报
回复
改写函数
或者加个函数

比如加个函数b1

create function b1(
@编号 int
)
returns decimal(19,6)
as
begin
declare @r decimal(19,6)
set @r=(select sum(金额) from b(a.编号))
return @r
end
go

--实现功能
instert into tb(编号,money)
select 编号,dbo.b1(编号)
from a
大宇_ 2006-08-22
  • 打赏
  • 举报
回复
真的很难哦
大宇_ 2006-08-22
  • 打赏
  • 举报
回复
楼上那个b(a.编号)怎么带进去的
MicrosoftSQL 2006-08-22
  • 打赏
  • 举报
回复
大概是这样子了,LZ自己改一改

declare @tb table(编号 int ,[money] money)
declare @money decimal(19,6)
declare @i int

select @i=1
while @i<100 -- 假设a.count为100
begin
select @money=30 -- select sum(金额) from b(a.编号)
insert into @tb (编号,[money]) values (1,@money)
select @i=@i+1
end

select * from @tb
MicrosoftSQL 2006-08-22
  • 打赏
  • 举报
回复
for(int i=0;i<a.count,i++)

这是什么语法啊?

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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