it的数据库的看过来啊,这个更新查询咋写?字符串类的聚合函数?
整理时间:2013-04-13 08:03 来源:www.vimiy.com 作者:编辑 点击:次
【楼主】2013-04-12 13:13
» it的数据库的看过来啊,这个更新查询咋写?字符串类的聚合函数?
如题,四条记录
姓名,字母,数字
张三,a,1
张三,b,2
李四,c,5
李四,d,6
需要变成新的四条
张三,ab,3
张三,ba,3
李四,cd,11
李四,dc,11
group by 姓名 sum数字,我会,字母那列怎么处理?
有现成的办法还是需要新写函数? 咋写?
----sent from my samsung GT-P3113,Android 4.1.1
网友评论2013-04-12 13:16
让用管理工具不? 
网友评论2013-04-12 13:18
stuff函数
网友评论2013-04-12 13:18
写存储过程,可以定义变量。
网友评论2013-04-12 13:27
如果每个姓名固定2条数据 那么情况比较简单
但是如果可能会出现这样的情况:
张三,a,1
张三,b,2
张三,c,2
李四,c,5
最后需要变成
张三,abc,6
张三,bac,6
张三,cab,6
李四,c,5
意思就是一个人对应数据量不定,那问题就比较头疼了。
网友评论2013-04-12 13:31
max(姓名)+min(姓名)
min(姓名)+max(姓名)
网友评论2013-04-12 13:33
就是四楼这种情况,姓名重复两次的会出现,三次的极少数,夹杂大量不重复的
字母的处理必须颠倒相连。
----sent from my samsung GT-P3113,Android 4.1.1
网友评论2013-04-12 13:42
行转列行转列
网友评论2013-04-12 14:04
Reply Post by DuelMonster (2013-04-12 13:33):
就是四楼这种情况,姓名重复两次的会出现,三次的极少数,夹杂大量不重复的
字母的处理必须颠倒相连。
----sent from my samsung GT-P3113,Android 4.1.1
设表名为test 数据如下

执行sql(以sqlserver为例)
select a.name,a.code,isnull(b.code,'') as code1 into test1 from test a
left join test b on a.name = b.name and a.id != b.id
得到一张新表 test1 数据如下

此时你可以用行列转换或扩展聚合函数求出以name和code为一组的code1的和,再加上code就是你要的结果。
评论DuelMonster
多谢耐心回复!!!! 好评!2013-04-12 14:17
2013-04-12 14:17对回复(109049351)发表了一条评论
罗辑思维全国人大代表真三搞笑视频柳岩
Copyright © 2012年2月8日