CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

简单sql 语句问题, 在线等待, 100分相谢****************

楼主florist2000(我爱susan)2005-06-04 14:57:33 在 MS-SQL Server / 应用实例 提问

帮朋友问问题.  
   
  table_room_info   保存聊天室的基本信息.   1   对1关系   每个聊天室一个记录  
  table_room_menber   保存聊天室会员             1对多关系   每个聊天室多个会员  
  table_room_forbid   保存聊天室黑名单.       1对多关系.每个聊天室多个黑名单.  
   
  现,给定聊天室ID,   一次奖   聊天室基本信息,   会员,   黑名单全部返回,   但希望聊天室信息不要冗余返回.  
  怎么写这个sql语句?  
   
  谢谢. 问题点数:0、回复次数:6Top

1 楼orcale()回复于 2005-06-04 15:09:34 得分 0

select   *   from   table_room_info   a   inner   join   table_romm_menber   b   on   a.room_id=b.room_id  
  inner     join   table_room_forbid   c   on   a.room_id=c.room_id   where   room_id=@room_idTop

2 楼florist2000(我爱susan)回复于 2005-06-04 15:20:11 得分 0

谢谢你,   这个我大概知道,   请问  
  这个返回回不会造成聊天室信息重复返回呢?  
  因为table_room_info非常大,   所以,   不能然他返回多次.  
  Top

3 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2005-06-04 15:39:13 得分 0

create   function   f_str(@room_id   int)  
  returns   varchar(8000)  
  as  
  begin  
      declare   @forbid   varchar(8000)  
       
      set   @forbid   =   ''  
      select   @forbid   =   @forbid   +   ','   +   rtrim(forbid)   from   table_room_forbid   where   room_id   =   @room_id  
       
      select   @forbid   =   case   when   len(@forbid)>0   then   stuff(@forbid,1,1,'')   else   '')  
       
      return   @forbid  
  end  
   
   
  select    
          *,  
          forbid   =   dbo.f_str(a.room_id)  
  from    
          table_room_info   a    
  inner   join    
          table_romm_menber   b    
  on    
          a.room_id=b.room_id  
  where    
          room_id=@room_idTop

4 楼florist2000(我爱susan)回复于 2005-06-04 15:44:13 得分 0

谢谢上面这位高手,  
  他用的数据库室MYSQL,   不知道能否支持你写的函数.  
  能否不用函数,   把他写出来呢?Top

5 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2005-06-04 17:14:00 得分 0

MYSQL没用过,如果不支持函数的话,最好在程序中处理结果集中重复的字段。Top

6 楼florist2000(我爱susan)回复于 2005-06-05 08:57:50 得分 0

能说详细点嘛?谢谢Top

相关问题

  • 简单sql语句
  • 简单问题——关于SQL语句——在线等待
  • 帮帮啊。简单的SQL语句。在线等待!
  • 关于SQL语句的一个简单问题!(在线等待)
  • 来看看我简单的sql语句。在线等待
  • 在线等待,求一简单SQL语句~
  • 很简单的sql语句问题。(在线等待)
  • ########### 求一段简单的SQL语句 在线等待 ############
  • #################求一段简单的SQL语句 在线等待#####################
  • 一个简单的SQL语句,问题?在线等待!

关键词

  • 聊天
  • 信息
  • forbid
  • room
  • 聊天室
  • 黑名单
  • 返回
  • 保存
  • 会员
  • 关系

得分解答快速导航

  • 帖主:florist2000

相关链接

  • SQL Server类图书

广告也精彩

反馈

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