如:
我有一个SQL语句:SELECT StuName from StudentTable where Sex = '男'
这样查询出来的结果肯定不是唯一的:
是这样的:
张三
李四
王五
我的问题是如何让这些查询出来的数据返回一个字符串,这种形式:张三,李四,王五
求教了,不知道该怎么写。
我有一个SQL语句:SELECT StuName from StudentTable where Sex = '男'
这样查询出来的结果肯定不是唯一的:
是这样的:
张三
李四
王五
我的问题是如何让这些查询出来的数据返回一个字符串,这种形式:张三,李四,王五
求教了,不知道该怎么写。
解决方案 »
- ReportViewer内存溢出的问题如何解决
- C#如何将脚本文件自动生成AI文件?高手快来
- 救急~~存储过程的问题
- 要启动一个新窗口
- 寻找asp.net中播放flash时带进度条的控件
- 取消缓存Response.Expires = 0;等语句写在哪里?我写在page_load中怎么没用,用后退键还是能返回
- 关于xml文件中的查询问题!!!!!很急.....望各位大虾进来帮帮我!!!
- sqlcommand相关疑难问题求解。。。
- 超级打印,无从下手!急求高手.
- web控件运行时无法显示
- web 目录下的dll编译后不更新
- GridView 的 EditItemTemplate 怎样获取到修改后的值
二、直接在SQL 里面得到要求的字符串。
参考http://topic.csdn.net/u/20090527/23/5c5c3013-b94f-4625-acaa-b721541ecdee.html
DECLARE sales_rep CURSOR
FOR
SELECT StuName from StudentTable where Sex = '男'
DECLARE @Ref_Value nvarchar(50)
DECLARE @ACT_Value nvarchar(50)
set @Ref_Value=''
set @ACT_Value=''
OPEN sales_rep/*得到第一条记录,如果失败@@FETCH_STATUS返回-1,如果没有记录@@FETCH_STATUS则返回-2*/
FETCH NEXT FROM sales_rep INTO @Ref_Value
WHILE (@@FETCH_STATUS <> -1)
BEGIN
IF (@@FETCH_STATUS <> -2)
Begin
--print '开始'
set @ACT_Value=@ACT_Value+@Ref_Value+','
End
/*读取下一条*/
FETCH NEXT FROM sales_rep INTO @Ref_Value
END
/*关闭游标*/
CLOSE sales_rep
/*释放游标*/
DEALLOCATE sales_rep
select @ACT_Value
while(read.Read())
{
username+=read["StuName"].tostring()+","
}
最后拼装完会多个逗号,自己截取掉,基本代码就不帮你写了
string str = string.Join(",", (from temp in dt.AsEnumerable() select new { StuName = temp.Field<string>("StuName ") }).ToArray());
select LEFT(Name,LEN(Name)-1) As Name from (select (select StuName+',' from StudentTable where Sex ='男' FOR XML PATH('')) As Name) B