CSDN-CSDN社区-MS-SQL Server-疑难问题

收藏 sql server SELECT语句里拼接字符串的问题![问题点数:30,结帖人:bbird_smile]

楼主发表于:2008-04-10 15:46:02
declare  @Temp_table table (firstName nvarchar(20),
lastName nvarchar(20),
Parent nvarchar(500))
insert into @Temp_table values ('A','B','AB_1')
insert into @Temp_table values ('A','B','AB_2')
insert into @Temp_table values ('A','B','AB_3')
insert into @Temp_table values ('A','C','AC_1')
insert into @Temp_table values ('B','C','BC_1')

select * From @Temp_table

需要得到以下结果:
A B AB_1|||AB_2|||AB_3
A C AC_1
B C BC_1

即把firstName和lastName相同的Parent拼接起来(用'|||' 分开),合并到一行里去。
求这一SQL语句,最好不要用临时表然后循环的方法。
回复次数:6
  • ranzj用户头像
  • ranzj
  • (天鹅,在高过云层的地方,用翅翼)
  • 等 级:
#1楼 得分:0回复于:2008-04-10 15:48:00
建议在前台页面里搞,不要直接在后台处理用户界面问题。
CTE
#2楼 得分:0回复于:2008-04-10 15:49:51
sql 2000需要创建一个函数来实现。
#3楼 得分:30回复于:2008-04-10 15:52:46
#4楼 得分:0回复于:2008-04-10 15:53:29
请问如何实现的呀?

引用 2 楼 dawugui 的回复:
sql 2000需要创建一个函数来实现。
#5楼 得分:0回复于:2008-04-10 15:54:50
谢谢了!!!潇洒老乌龟(爱新觉罗.毓华)
#6楼 得分:0回复于:2008-04-10 15:58:12
SQL code

--以下为sql server 2000里面使用函数的方法。2005的方法见上。
create table Temp_table (firstName nvarchar(20), lastName nvarchar(20), Parent nvarchar(500))  
insert into Temp_table values ('A','B','AB_1') 
insert into Temp_table values ('A','B','AB_2') 
insert into Temp_table values ('A','B','AB_3') 
insert into Temp_table values ('A','C','AC_1') 
insert into Temp_table values ('B','C','BC_1') 
go

--创建一个合并的函数
create function f_hb(@firstName varchar(20), @lastName varchar(20))
returns varchar(8000)
as
begin
  declare @str varchar(8000)
  set @str = ''
  select @str = @str + '¦¦¦' + cast(Parent as varchar) from Temp_table where firstName = @firstName and lastName = @lastName
  set @str = right(@str , len(@str) - 3)
  return(@str)
End
go

--调用自定义函数得到结果:
select distinct firstName , lastName ,dbo.f_hb(firstName , lastName) as Parent from Temp_table

drop table Temp_table
drop function dbo.f_hb

相关问题
select语句问题MS-SQL Server / 疑难问题- CSDN社区community.csdn.net
把sql语句(比如select语句)作为参数传到存储过程中,安全吗,会不会 ...
时间函数和sql字符串拼接处理问题
请教一个聚合字符串拼接的问题MS-SQL Server / 基础类- CSDN社区 ...
存储过程里执行字符串问题MS-SQL Server / 基础类- CSDN社区community ...
update 中使用变量得问题MS-SQL Server / 基础类- CSDN社区community ...