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年度难题。