| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 351 人关注过本帖
标题:一个SQL语句的问题,希望大家帮忙解决下。
只看楼主 加入收藏
litom
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-11-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
一个SQL语句的问题,希望大家帮忙解决下。
图片附件: 游客没有浏览图片的权限,请 登录注册


设计的数据表如下图,主要是关于auter字段,需要实现的情况是:检索字段auter,要求列出里面的名字,但是要去掉重复名字,也就是重复的名字只列一次,而且当字段里有两个名字的时候,要把它分开列出来。比如上面那个表,要是列出来的话就应该是:李楠 张旭 张希 朱国锋 王大为 肖伟 张亮 高兵 任杰。不知道我的意思说清楚了么,希望高手帮指点下,谢谢。还有一点要说明的是:一个字段中如果有两个名字,那么名字之间是按照一个空格来分开的,我目前想到分开空格的办法是 charindex(' ',auter)>0 就说明这个字段是两个名字了。可是其他方面还是有点郁闷,开始想的思路是分三个记录集,一个是没有空格的名字集合一下,一个是有空格的空格左边的集合,一个是空格右边的集合,三个集合再比较一下最后得出列。感觉太麻烦,所以想请教大家一下。
搜索更多相关主题的帖子: 语句 SQL 
2010-11-01 23:43
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
如果有一本书作者有更多人呢,处理起来岂不更难?还是表结构的问题!

★★★★★为人民服务★★★★★
2010-11-02 08:18
dzt0001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1281
专家分:4998
注 册:2005-10-12
收藏
得分:20 
我的思路是在数组中把重复项删除
程序代码:
<%
autherlist=","    '用于保存所有auther
sql="select auher from [表名]"
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open sql,Conn,1,3
Do While Not Rs.EOF
  autherlist=autherlist&Rs("auther")&","
Rs.MoveNext
loop
Rs.Close

if instr(autherlist," ")>0 then autherlist=replace(autherlist," ",",")    '替换空格为,

'数组删除重复项的函数
Function MoveR(Rstr)

 Dim i,SpStr

 SpStr = Split(Rstr,",")

 For i = 0 To Ubound(Spstr)
  If I = 0 then
   MoveR = MoveR & SpStr(i) & ","
  Else
   If instr(MoveR,SpStr(i))=0 and i=Ubound(Spstr) Then
    MoveR = MoveR & SpStr(i)
   Elseif instr(MoveR,SpStr(i))=0 Then
    MoveR = MoveR & SpStr(i) & ","
   End If
  End If

 Next
End Function

response.write MoveR(autherlist)
%>

----我怎能在别人的苦难面前转过脸去----
2010-11-02 09:13
快速回复:一个SQL语句的问题,希望大家帮忙解决下。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017532 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved