sql ,将表中‘姓名’字段数据相同的添加1.2.3.....

SQL2000,有一个表,全部人员名单,需要把姓名相同的人依次加上1,2,3,4.。。。例如:表中有数据张三李四张三王五需要把‘姓名’这一列改成张三1李四张三2王五麻烦了... SQL2000,有一个表,全部人员名单,需要把姓名相同的人依次加上1,2,3,4.。。。
例如:表中有数据
张三
李四
张三
王五

需要把‘姓名’这一列改成
张三1
李四
张三2
王五

麻烦了,急需用,成功解决必加分,感谢

★★★★★需要修改表中的数据★★★★★
我的表结构:序号(唯一的),单位,姓名,性别,生日......
展开
 我来答
我在哪我是谁X
2011-03-11 · TA获得超过1620个赞
知道小有建树答主
回答量:350
采纳率:0%
帮助的人:255万
展开全部
你的序号列应该是以此递增的吧.
思路: 查姓名与当前行姓名相同的记录数. 如果是1,表示当前是第一个此行名,不用处理,如果是大于1,就加上比当前序号小的姓名相同的总个数就是你要的结果.

update 表名
set 姓名=
姓名+case when (select count(*) from 表名 a1 where a1.姓名=表名.姓名)>1 then cast((select count(*) from 表名 a1 where a1.姓名=表名.姓名 and a1.序号<=表名.序号) as varchar(10)) else '' end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ThinkIBM
2011-03-11 · TA获得超过5289个赞
知道大有可为答主
回答量:3263
采纳率:0%
帮助的人:5491万
展开全部
UPDATE a SET a.name = a.name + CAST((SELECT COUNT(*) FROM tb b WHERE b.id < a.id AND b.name = a.name) AS VARCHAR)
FROM tb a, (SELECT NAME FROM tb GROUP BY NAME HAVING COUNT(*) > 1) b WHERE a.name = b.name
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyingFish211
2011-03-11 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
UPDATE tab t1
SET 姓名 = TRIM(姓名) + (SELECT COUNT(序号)+1 FROM tab WHERE 姓名 = t1.姓名 AND 序号 <= t1.序号)
WHERE 姓名 IN (SELECT 姓名 FROM tab GROUP BY 姓名 HAVING COUNT(序号) > 1)
即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dml8880596
2011-03-11
知道答主
回答量:10
采纳率:0%
帮助的人:6.9万
展开全部
declare @count int;
declare @name nvarchar(20);
declare @irow int;
declare cur cursor
for
select 姓名,count(*)from [表名] group by 姓名 having count(*)>1
open cur
fetch next from cur into @name,@count
while(@@fetch_status=0)
begin
set @irow=@count;
print @name;
print @count;
update [表名] set 姓名=姓名+convert(nvarchar,@count-@irow),@irow=@irow-1 where 姓名=@name

fetch next from cur into @name,@count
end
close cur
deallocate cur
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
拱绚须智刚
2020-03-10 · TA获得超过1018个赞
知道小有建树答主
回答量:1929
采纳率:100%
帮助的人:10.8万
展开全部
可以。在表1的e1输入“学费”,e2输入公式:=vlookup(a2,表2!$a$2:$b$100,2,false)
这里假设表2的名字就叫“表2”,且表2的数据在a、b列,第2~100行,可以实按际情况修改公式中的表名和数据范围。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式