标题:请问一个SQL语句的写法,很有难度的
只看楼主
周吴正王
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2004-11-5
 问题点数:0 回复次数:9 
请问一个SQL语句的写法,很有难度的

有这样一个表:
(ID 数字型),(name 字符型) ,(class 字符型 分类字段)
1 张三 武汉
2 李四 武汉
3 刘八 武汉
5 周九 成都
6 蔡十 成都
7 何大 北京
8 刘小 北京

语句运行后的结果应是:
武汉 张三、李四、刘八
成都 刘八、周九
北京 何大、刘小

这样的语句应该怎么写呢

搜索更多相关主题的帖子: SQL 武汉 北京 语句 成都 
2007-01-04 11:48
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
得分:0 

drop table t
create table t(id int identity,name varchar(5),class varchar(4))
insert t select '张三','武汉'
union select '李四','武汉'
union select '刘八','武汉'
union select '周九','成都'
union select '蔡十','成都'
union select '何九','北京'
union select '刘小','北京'

drop function fun_t
create function fun_t(@class varchar(10))
returns varchar(2000)
as
begin
declare @a varchar(2000)
set @a=''
select @a=@a+','+cast(name as varchar) from t where class=@class
set @a=right(@a,len(@a)-1)
return @a
end
select distinct class,dbo.fun_t(class) as 连接 from t

[此贴子已经被作者于2007-1-4 15:19:49编辑过]


26403021 sql群 博客 blog./user15/81152/index.shtml
2007-01-04 15:14
周吴正王
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2004-11-5
得分:0 

谢谢了,真是帮了大忙了

2007-01-04 19:53
周吴正王
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2004-11-5
得分:0 
上面的语句执行起来很多结果是重复的,有没有更优化的语句
2007-01-04 20:14
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
得分:0 

我运行没重复的啊,你是不是把distinct漏了


26403021 sql群 博客 blog./user15/81152/index.shtml
2007-01-04 20:37
周吴正王
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2004-11-5
得分:0 
是这样的,如果不带distinct的话是有很多重复语句,distinct只是把相同结果给滤掉了,语句实际执行所花的时间还是有很多花在的重复的结果上
2007-01-05 16:41
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
得分:0 
那我就不会了,优化的东西,我都不懂

26403021 sql群 博客 blog./user15/81152/index.shtml
2007-01-05 16:45
周吴正王
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2004-11-5
得分:0 
select class,dbo.fun_t(class) as 连接 from t group by class 这样好象执行次数少一些
2007-01-05 17:22
ninggang
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:637
专家分:0
注 册:2006-11-1
得分:0 
jinyuzhang在这方面,就是很厉害,哈哈,支持

大家一起努力,共同打造未来!!
2007-01-06 13:39
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
得分:0 
都是偷别人的

26403021 sql群 博客 blog./user15/81152/index.shtml
2007-01-06 13:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-114112-1-1.html




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

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