日期:2014-05-17  浏览次数:20533 次

SQL执行出来的结果,如何分段加上[ ] 符号
先建表
CREATE TABLE [tb] (
[姓名] [varchar]  (10) NULL,
[课程] [varchar]  (10) NULL,
[分数] [int]  NULL)
INSERT [tb] ([姓名],[课程],[分数]) VALUES ( N'张三',N'语文',74)
INSERT [tb] ([姓名],[课程],[分数]) VALUES ( N'张三',N'数学',83)
INSERT [tb] ([姓名],[课程],[分数]) VALUES ( N'张三',N'物理',93)
INSERT [tb] ([姓名],[课程],[分数]) VALUES ( N'李四',N'语文',74)
INSERT [tb] ([姓名],[课程],[分数]) VALUES ( N'李四',N'数学',84)
INSERT [tb] ([姓名],[课程],[分数]) VALUES ( N'李四',N'物理',94)
执行以下SQL语句
declare @sql varchar(8000)
select @sql=isnull(@sql+',','')+课程 from tb group by 课程    
select @sql 
出来的结果是
数学,物理,语文
如果是想得到的结果如下
[数学],[物理],[语文]
该怎么修改SQL语句呢,谢谢

------解决方案--------------------
select @sql=isnull(@sql+',','')+quotename(课程) from tb group by 课程    

------解决方案--------------------
前台加个符号就是了……