CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

还是分组语句,怎么写啊?!

楼主andylauhai(♂) (人生苦短,开心就好)(^_^)(征途)(珍惜生命,远离IT)2006-03-08 15:04:16 在 MS-SQL Server / 基础类 提问

表结构如下:  
  ss_ksfl表  
  fldm           flmc  
  1 传感器  
  2 电脑基础  
  3 一方三通  
   
  ss_flmc表  
  fldm           ctsm           szbl  
  1 10 20  
  2 5 10  
  3 1 10  
   
  yw_ks表  
  rhbh           wtdm           rhde             df               kssj  
  acer 1 A 2.00 2006-03-07   14:32:23.000  
  tfyzj 1 B 5.00 2006-03-07   16:23:32.000  
  tfyzj 2 B 10.00 2006-03-07   16:23:32.000  
  tfyzj 3 B 20.00 2006-03-07   16:23:32.000  
  tfyzj 4 B 10.00 2006-03-07   16:23:32.000  
   
  ss_user表  
  id                 name           pwd           xq                 ssk             xb  
  acer andylau aaa 1 1 1  
  tfyzj qwq   1 2 0  
   
  ss_Mine表  
  id               name  
  1 一矿  
  2 二矿  
   
  ss_xq   表  
  id               name  
  1 大同县  
  2 新荣区  
   
  ss_ktlr   表  
  wtdm           wtmc                                               zqde             fldm  
  1 传感器校验是否成功? B 1  
  2 传感器校验是否成功? B 1  
  3 传感器校验是否成功? B 2  
  4 传感器校验是否成功? B 3  
   
   
   
   
  说明:  
  ss_user.id=yw_ks.rhbh         ss_user.xq=ss_xq.id         ss_user.ssk=ss_mine.id  
   
   
   
  要达到这样的效果:  
   
  rhbh           name           xb               xqname       mkname         flmc、szbl、df  
  acer andylau 1 大同县 一矿 传感器、20、2.00  
  tfyzj qwq 0 大同县 二矿 传感器、20、15.00、电脑基础、10、20.00  
   
   
  说明:  
  (flmc、szbl、df)是作为一个字段  
  传感器、20、15.00   这是一组数据  
   
  电脑基础、10、20.00   这是一组数据  
   
   
  -----------------------------------------------------------------------------------  
  我写了个函数:  
  Create   function   F_UnionStr(@fldm   varchar(10),@df   varchar(10))  
  returns   varchar(50)  
  as  
  begin  
  declare   @return   as   varchar(50)  
  set   @return=''  
  select   @return=@return+'、'+cast(flmc   as   varchar)     +'、'+cast(szbl   as   varchar)+'、'+cast(@df   as   varchar)   from   ss_ksfl,ss_flmx   where     ss_ksfl.fldm   =ss_flmx.fldm   and   ss_ksfl.fldm   =@fldm    
  return   (stuff(@return,1,1,''))  
  end  
   
  下面是查询语句:  
  select       rhbh,b.name,b.xb,   d.name,   c.name     ,考题类型=dbo.F_UnionStr(f.fldm,sum(df))  
  from   yw_ks   as   a   ,SS_USER   as   b   ,SS_Mine   as   c   ,   SS_XQ   as   d   ,YW_KTLR   as   e   ,   SS_KSFL   as   f   ,   SS_FLMX   as   g      
  where   a.rhbh   =   b.id   and   b.ssk   =   c.id   and   b.xq   =   d.id   and   a.wtdm   =   e.wtdm   and   f.fldm   =   e.fldm   and   g.fldm   =   f.fldm    
  group   by   rhbh,   b.name,b.xb,   d.name,   c.name,f.fldm  
   
  可查询出的效果是:  
  rhbh           name           xb               xqname       mkname         flmc、szbl、df  
  acer andylau 1 大同县 一矿 传感器、20、2.00  
  tfyzj qwq 0 大同县 二矿 传感器、20、15.00  
  tfyzj qwq 0 大同县 二矿 电脑基础、10、20.00  
  tfyzj qwq 0 大同县 二矿 一方三通、10、10.00  
   
   
  tfyzj这个用户怎么合并到一起?!  
   
   
   
   
   
   
   
   
   
   
   
  问题点数:20、回复次数:4Top

1 楼happyflystone(无枪的狙击手)回复于 2006-03-08 15:10:54 得分 5

太长没看完,看结果最简单的办法就是再建   一个函数,对你的这个结果集再处理  
  select   distinct   rhbh,name,xb,xqname,mkname,f_otherfunction(   rhbh)   as   flmc、szbl、df  
  from   (  
  select       rhbh,b.name,b.xb,   d.name,   c.name     ,考题类型=dbo.F_UnionStr(f.fldm,sum(df))  
  from   yw_ks   as   a   ,SS_USER   as   b   ,SS_Mine   as   c   ,   SS_XQ   as   d   ,YW_KTLR   as   e   ,   SS_KSFL   as   f   ,   SS_FLMX   as   g      
  where   a.rhbh   =   b.id   and   b.ssk   =   c.id   and   b.xq   =   d.id   and   a.wtdm   =   e.wtdm   and   f.fldm   =   e.fldm   and   g.fldm   =   f.fldm    
  group   by   rhbh,   b.name,b.xb,   d.name,   c.name,f.fldm  
  )   a  
  Top

2 楼lsqkeke(可可)回复于 2006-03-08 15:13:38 得分 10

再处理,就要过滤重复的值了,就不是单独的字符串拼接了Top

3 楼happyflystone(无枪的狙击手)回复于 2006-03-08 15:18:14 得分 5

再处理,就要过滤重复的值了,就不是单独的字符串拼接了  
  -----  
   
  不存在你说的问题,因为在Select   用了distinctTop

4 楼andylauhai(♂) (人生苦短,开心就好)(^_^)(征途)(珍惜生命,远离IT)回复于 2006-03-08 15:21:45 得分 0

distinct  
   
  不管用吧,因为结果里没有重复的呀  
   
  那合并的函数怎么写呀?Top

相关问题

  • 这个sql 语句怎么写,分组统计
  • 这样的分组语句怎么写啊?
  • 这样的SQL语句怎么写的?有分组,还要统计和
  • 关于分组的语句如何写
  • 请问这样的SQL语句怎么写:对记录分组,并得到每组的第一条记录
  • 这个分组的SQL语句怎么弄?
  • 看看这段group by小分组语句,能这样写吗?
  • 求一分组sql语句!
  • 求一分组sql语句。
  • 分组排序SQL语句

关键词

  • 电脑
  • fldm
  • rhbh
  • flmc
  • 传感器
  • xq
  • szbl
  • wtdm
  • tfyzj
  • ss

得分解答快速导航

  • 帖主:andylauhai
  • happyflystone
  • lsqkeke
  • happyflystone

相关链接

  • SQL Server类图书

广告也精彩

反馈

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