VimIy微民网,让世界倾听微民的声音! 设为首页 | 加入收藏 | 网站地图
当前位置:主页 > 大杂烩 >

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日