回 帖 发 新 帖 刷新版面

主题:[原创]2009年度CSDN发布最难的SQL代码题!看有高手能解决吗



表 userinfo 有两个字段 username (主键,VARCHAR型) ,user_id(INT型)。
 
    现想将表中所有以jhb 结尾的 记录的 user_id 值替换成username 前半部分与其相同并且最后3个字符是zzb的记录的user_id 的值(如下例中123zzb与123jhb 以及abd5234zzb与abd5234jhb)。

举例:(左侧为原表,右侧为更新后)


username       user_id

123zzb          88
123jhb          77
77894qsd          22365
abd5234zzb          44
abd5234jhb          369  


更新后:


username       user_id

123zzb          88
123jhb          88
77894qsd          22365
abd5234zzb          44
abd5234jhb          44  



123jhb 与123zzb 就最后3位字符串不一样,并且123zzb最后3位是zzb,更新后,应该使得123jhb 的user_id 的值= 123zzb 的user_id 的值。abd5234zzb 以及 ab5234jhb也是一样,更新后,ab5234jhb的user_id 的值应该等于abd5234zzb的user_id的值。 请问如何使用sql 代码实现?允许新增表操作。

请高手解答这一2009年度难题。

回复列表 (共4个回复)

沙发

CSDN能有这种“难题”?还是你的作业题?

板凳


用游标和substr或者right取后面三个数字即可!

3 楼

很傻很天真

楼主估计也考完试了,不会再回来看的了

4 楼


[em8]同 上,这个是不是你的作业题

我来回复

您尚未登录,请登录后再回复。点此登录或注册