--1.创建一个合并的函数
create function fmerg(@id int)
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str=''
select @str=@str+','+Memos from 表B where ID=@id
set @str=right(@str,len(@str)-1)
return(@str)
End
go--调用自定义函数得到结果
select id,name,dbo.fmerg(id) from 表A
where id in (select distinct id from 表B)
create function fmerg(@id int)
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str=''
select @str=@str+','+Memos from 表B where ID=@id
set @str=right(@str,len(@str)-1)
return(@str)
End
go--调用自定义函数得到结果
select id,name,dbo.fmerg(id) from 表A
where id in (select distinct id from 表B)
解决方案 »
- 过年了,求一条语句,清除空格
- 求一句sql或者过程,类似于split函数!
- 如何用一个存储过程实现多个表的增删改查?(麻烦写详细点)
- 求关于分类汇总的SQL语句. 表结构很简单
- 我的xp的系统装了一个sql server 2000,但是它里面的企业管理器有问题
- 字段随机的问题。。。急
- 在SQL Server7中如何用编程的方法将查询导出导Excel表格中?
- SQL Server2000的用户验证认证模式讨论
- exec(‘declare @tablename table(cola int,colb int)’)为什么不可以???
- 如何在触发器中调用外部程序?
- 在SQL Server中查询时如何把float(2.9999999)格式化成只有三位(2.999)显示?
- 如何比较两个表中不同的记录?
returns varchar(100)
as
begin
declare @result varchar(100)
set @result=''
select @result=@result+Name from B where ID=@ID
return @result
end语句:
select id,[name] ,dbo.getresult(ID) from A
where id in (select distinct id from B)
insert into a values('001','lid')
insert into a values('002','like')
insert into a values('001','d')
create table b(id varchar(100), Memos varchar(100))
insert into b values('001', 'football')
insert into b values('001', 'sing')
create function fun_1(@id int)
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str=''
select @str=@str+','+Memos from b where ID=@id
set @str=right(@str,len(@str)-1)
return(@str)
End
go
select id,dbo.fun_1(id) as name into #tem
from b
group by id
goselect a.id,a.name,t.name
from a join #tem as t on a.id=t.id
go
Create function getstr(@id Nchar(100))
returns Nvarchar(4000)
as
begin
declare @str Nvarchar(4000),@分隔符 Nvarchar(10)
set @分隔符=N','
set @str=N''
select @str=@str+rtrim(Col)+@分隔符 from 表名
--------------------------------^^^^要相加的字段名
where 相加条件字段=@id
set @str=left(@str,len(@str)-1)落 ---却除最后一个分隔符
return @str
end
GO2,调用
select 条件字段,dbo.getstr(条件字段) from 表名 group by 条件字段