CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

如果将查询的n条结果在sqlserver中直接组合成一个字串作为一个column?

楼主villagesnow(snow)2004-01-01 19:44:58 在 MS-SQL Server / 基础类 提问

我要查询column:x  
  可以查出:  
  x  
  'a'  
  'b'  
  'c'  
  .  
  .  
  .  
   
  我想在sqlserver中直接得出:  
  x  
  'abc...'  
  如何做?在线等..谢谢!  
  问题点数:100、回复次数:8Top

1 楼villagesnow(snow)回复于 2004-01-01 20:04:45 得分 0

declare   @s   nvarchar(4000)  
  set   @s=''  
  select   @s=@s+','+cast(ccs_no   as   nvarchar)   from   ccsmain  
  set   @s=substring(@s,2,4000)  
   
  select   结果=@s  
   
   
  这样好象可以的...  
   
  Top

2 楼DigJim(挖土)回复于 2004-01-01 20:06:56 得分 20

 
  declare   @s   nvarchar(4000)  
  set   @s=''  
  select   @s=@s+cast(x   as   nvarchar)   from   Table  
  set   @s=substring(@s,2,4000)  
  select   @sTop

3 楼villagesnow(snow)回复于 2004-01-01 20:21:32 得分 0

 
  表a[含字段:a_0],表b[含字段:b_0]  
  其中一个a_0对应多个b_0  
   
  例如:  
  a_0     b_0  
  ____________  
  ____________  
   
  'x'     'g'  
            'h'  
  ____________  
  'y'     'i'  
            'j'  
            'k'  
   
   
   
  我的目的:搜索结果为:  
  a_       b_  
  ____________  
  ____________  
  'x'     'gh'  
   
  'y'     'ijk'  
   
  ......  
   
  如何做?  
   
  现在得回去了。哪位高手帮帮忙解决吧,  
  本来想今天的事今天解决,可是懂得的  
  实在太少了...  
   
  谢谢了。Top

4 楼maoxianqiang(sky)回复于 2004-01-01 22:06:23 得分 30

Create   Function   getresult(@a   varchar(30))  
  returns   varchar(400)  
  as  
  begin  
      declare   @result   varchar(400)  
      set   @result=''  
      select   @result=@result   +   b_0   from   [yourtable]   where   a_0=@a  
      return   @result  
  end  
   
  后調用  
  select   a_0,dbo.getresult(a_0)   as   b_result   from   [yourtable]Top

5 楼villagesnow(snow)回复于 2004-01-02 07:56:48 得分 0

好的,谢谢。我来试试。Top

6 楼villagesnow(snow)回复于 2004-01-02 08:50:05 得分 0

出现错误:Server:   Msg   156,   Level   15,   State   1,   Procedure   getresult,   Line   12  
  Incorrect   syntax   near   the   keyword   'select'.  
  代码如下:  
  Create   Function   getresult(@a   nvarchar(30))  
  returns   nvarchar(4000)  
  as  
  begin  
      declare   @result   nvarchar(400)  
      set   @result=';'  
      select   @result=@result   +   ccs_no   from   ccsmain   where   ccs_no=@a  
      set   @result=substring(@result,2,4000)  
      return   @result  
  end  
   
  select   ccs_no,dbo.getresult(ccs_no)   as   b_result   from   ccsmain  
   
  请问高手们,该怎么改呢?Top

7 楼villagesnow(snow)回复于 2004-01-02 09:39:36 得分 0

哪位帮帮忙啊...  
  急躁ing...Top

8 楼johnlenfu(代码猎手)回复于 2004-01-02 11:28:42 得分 50

用go分隔Top

相关问题

  • 求一个 Delphi算法:实现 N 位数(N<10)的任意排列组合
  • 写出n个元素的所有组合,请帮忙!
  • n个球放a个不同篮子,排列组合的算法
  • ctrl键加上n键的组合键的ascii码是多少?
  • 急求一个c(n,r)的组合排序
  • 求算法:有M个非重复数字,穷举其中N(n<=m)个数字组合,将这些组合输出到一个列表。
  • 如何通过TWMKey拦截CTRL、ALT等组合键(比如CTRL-N)?
  • 如何打印n(为任意)位数的所有排列组合?救命
  • 【算法】从m个数中任取n个数的排列组合算法!
  • [一个算法问题]从m个数中任取n个数的组合

关键词

  • getresult
  • nvarchar
  • 结果
  • ccs
  • result
  • declare
  • substring
  • varchar
  • set
  • select

得分解答快速导航

  • 帖主:villagesnow
  • DigJim
  • maoxianqiang
  • johnlenfu

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo