CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

简单不简单,想吧公司的的员工做为一个字段列出来,用逗号格开,怎么写?

楼主iamwls(-----魔高一尺,道高一丈-----)2003-11-03 19:33:40 在 MS-SQL Server / 基础类 提问

 
  我想吧公司的的员工做为一个字段列出来,用逗号格开,怎么写?  
   
   
  结果该是  
  公司名称   员工姓名  
  a公司   aaa,bbb,ccc  
  D公司   ddd,eee,ff,gg  
  问题点数:60、回复次数:4Top

1 楼pengdali()回复于 2003-11-03 19:36:20 得分 20

create   function   getstr(@content   char(20))  
  returns   varchar(2000)  
  as    
  begin  
  declare   @str   varchar(2000)  
  set   @str=''  
  select   @str=@str+','+员工姓名   from   公司表   where   公司名称=@公司名称  
  set   @str=right(@str,len(@str)-1)  
  return   @str  
  end  
  go  
   
  语句:  
  select   distinct   公司名称,dbo.getstr(公司名称)   员工姓名   from   公司表Top

2 楼pengdali()回复于 2003-11-03 19:37:08 得分 20

create   function   getstr(@公司名称   varchar(20))  
  returns   varchar(8000)  
  as    
  begin  
  declare   @str   varchar(8000)  
  set   @str=''  
  select   @str=@str+','+员工姓名   from   公司表   where   公司名称=@公司名称  
  set   @str=right(@str,len(@str)-1)  
  return   @str  
  end  
  go  
   
   
   
   
  --调用语句:  
  select   distinct   公司名称,dbo.getstr(公司名称)   员工姓名   from   公司表  
  Top

3 楼zjcxc(邹建)回复于 2003-11-03 19:54:23 得分 10

--也可以用临时表,兼容7.0  
   
  select   公司名称,员工姓名,a=cast(''   as   varchar(8000))   into   #t   from   公司表  
  declare   @gs   varchar(50),@yg   varchar(8000)  
  update   #t   set   @yg=case   @gs   when   公司名称   then   @yg+员工姓名   else   员工姓名   end  
      ,a=@yg,@gs=公司名称  
   
  select   公司名称,员工姓名=max(a)   from   #t   group   by   公司名称  
   
  Top

4 楼zjcxc(邹建)回复于 2003-11-04 08:16:08 得分 10

--少写了分隔符,改:  
   
  select   公司名称,员工姓名,a=cast(''   as   varchar(8000))   into   #t   from   公司表  
  declare   @gs   varchar(50),@yg   varchar(8000)  
  update   #t   set   @yg=case   @gs   when   公司名称   then   @yg+','+员工姓名   else   员工姓名   end  
      ,a=@yg,@gs=公司名称  
   
  select   公司名称,员工姓名=max(a)   from   #t   group   by   公司名称Top

相关问题

  • 怎样用fscanf读出用逗号分隔的字段值?
  • 表中,一字段的数据格式为 2,3,4,3,6,0,0 如何查询第三个逗号后面的数字为4的记录
  • 救我!text字段的内容用逗号分隔后,如何统计?
  • double 型字段为什么在chart的图例里总是有逗号
  • 条件格式化字段
  • 在SQL SERVER中,我想用替换命令更换某个字段的中的逗号,如何表示这个逗号呢?
  • 怎样把数据库中一个表保存成为一个文本文件,字段用逗号隔开?
  • 求sql,把一个字符串字段中,用逗号隔开的字符串,分解到列?
  • real型字段显示格式问题。
  • 字段的编辑格式问题

关键词

  • 员工
  • 名称
  • 员工姓名
  • yg
  • 公司
  • varchar
  • gs
  • getstr
  • str
  • from公司表

得分解答快速导航

  • 帖主:iamwls
  • pengdali
  • pengdali
  • zjcxc
  • zjcxc

相关链接

  • SQL Server类图书

广告也精彩

反馈

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