请教高手们一个SQL语句的写法,解决立即给分!

tomhuang 2003-08-05 10:00:46
有一张表TA,结构为:
code name value
001 张三/李四 10
002 王五 6
003 赵六/王二/刘三 6

请问如何得到结果集:
code name value
001 张三 5
001 李四 5
002 王五 6
003 赵六 2
003 王二 2
003 刘三 2
也就是说:name中是人的名字,可能有多人,以/分开,value中是分值,有name中的几个人平均分,最后要统计出所有人的得分情况,请高手指教。谢谢!
解决立即给分!!
...全文
45 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengdali 2003-08-05
  • 打赏
  • 举报
回复
没有关系。8000是固定的,应为varchar最大只能放8000个字符
tomhuang 2003-08-05
  • 打赏
  • 举报
回复
还有,#dali表的8000和我的纪录数有关系吗?如果我的纪录很多,是不是需要加大#dali中id的值??
tomhuang 2003-08-05
  • 打赏
  • 举报
回复
语句执行成功,但看语句的时候我晕了...
大力兄,能大概的解释一下思路吗??
pengdali 2003-08-05
  • 打赏
  • 举报
回复
得到一个
1
2
3
4
5
.....
8000

的序数表
CrazyFor 2003-08-05
  • 打赏
  • 举报
回复
select top 8000 identity(int,1,1) id into #dali from sysobjects a,sysobjects b

生成一个临时表,里面放入8000条记录,数据是:1,2,3,....7999
愉快的登山者 2003-08-05
  • 打赏
  • 举报
回复
这是生成一个内容为从1到8000的临时表。
tomhuang 2003-08-05
  • 打赏
  • 举报
回复
现在终于知道,人外有人,天外有天,大力兄,I 服了 You...
(小道消息:大家都开始怀疑,大力的血统是否纯正的地球人...)
愉快的登山者 2003-08-05
  • 打赏
  • 举报
回复
在大力基础上统计分数:
select name, sum(score) from (
select
substring('/'+name,id+1,charindex('/','/'+name+'/',id+1)-id-1) name,value/(len(name)-len(replace(name,'/',''))+1) score
from #TA aa,#dali bb
where substring('/'+name,id,8000) like '/_%') A
group by name
tomhuang 2003-08-05
  • 打赏
  • 举报
回复
能请教大力兄一下:
select top 8000 identity(int,1,1) id into #dali from sysobjects a,sysobjects b
的意思吗??
愉快的登山者 2003-08-05
  • 打赏
  • 举报
回复
大力的方法真是太妙了。佩服!
pengdali 2003-08-05
  • 打赏
  • 举报
回复
create table #TA(code varchar(100),name varchar(100),value int)
insert #ta values('001','张三/李四', 10)
insert #ta values('002','王五', 6)
insert #ta values('003','赵六/王二/刘三', 6)


select top 8000 identity(int,1,1) id into #dali from sysobjects a,sysobjects b

select code,substring('/'+name,id+1,charindex('/','/'+name+'/',id+1)-id-1),value/(len(name)-len(replace(name,'/',''))+1)
from #TA aa,#dali bb
where substring('/'+name,id,8000) like '/_%'
order by code,id

go
drop table #ta,#dali

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧