try:
declare @id int
set @id = 1
declare @str varchar(8000)
set @str=''
select @str=@str+','+cast(pid as varchar) from B where id=@id
set @str=right(@str,len(@str)-1)
Select distinct a_id,@str from B
declare @id int
set @id = 1
declare @str varchar(8000)
set @str=''
select @str=@str+','+cast(pid as varchar) from B where id=@id
set @str=right(@str,len(@str)-1)
Select distinct a_id,@str from B
解决方案 »
- SQL Server 2000 用批处理导出文本问题!
- mysql更新问题,多语句
- 从文本导入数据去重?
- 关于SQL SERVER2005通过存储图片的问题
- 数据导入导出问题?
- Reporting Serices 报表订阅 方式为Windows文件共享是报错,请大虾帮帮忙
- 怎么样用数据库日志文件恢复数据库?200分高分答谢!先付100,回答以后再付100
- 关于数据库的复制有几个问题想请教高手
- 请问在WINDOWS 2000高级服务器版中安装了SQL server7.0当我要改变WINDOS2000的超级用户口令时,要启动SQL SERVER 7.0出错,请各位大虾帮帮忙!谢谢
- 使用U8执行某个功能,如何查看执行了哪些SQL语句,或者存储过程(在线等)
- 特殊字符问题!!!高手帮忙!!!
- 从客户sql6.5中用dump命令备份的出来的数据,怎么还原到sql2000中啊!我用load出错啊!
insert b(a_id,city) values(1,'beijing')
insert b(a_id,city) values(1,'shanghai')
insert b(a_id,city) values(1,'shenzhen')
declare @id int
set @id = 1
declare @str varchar(8000)
set @str=''
select @str=@str+','+city from B where a_id=@id
set @str=right(@str,len(@str)-1)
Select distinct a_id,@str from B-------------
1 beijing,shanghai,shenzhen(所影响的行数为 1 行)
--1.创建一个合并的函数
create function fmerg(@id int)
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str=''
select @str=@str+','+city from B where a_id=@id
set @str=right(@str,len(@str)-1)
Return(@str)
End
go--调用自定义函数得到结果
select distinct a_id,dbo.fmerg(a_id) from B
大哥,cast(pid as varchar)是什么东东,不懂,不好意思,能不能解释一下??
returns varchar(8000)
as
begin
declare @str varchar(8000)
select @str=rtrim(country) from a where a_id =@i
select @str=@str+','+rtrim(city) from b where a_id =@i
return @str
end
go
select a_id,dbo.getstr(a_id) from a group by a_id
所有city都是放一个里面,用","隔开的,我想要查询出来是分开的,怎么做?