回 帖 发 新 帖 刷新版面

主题:一一对应替换问题

表a             表b
      a1    a2        b1     b2
1.    123   456       789    012
2.    188   687       182    175
3.    149   149       104    187
..........
..........
..........
..........
..........
要用表b字段b2中的第2个字符去替换表a字段a1中的第1个字符,完成后表a应该是:
      表a                 表b
      a1    a2         b1    b2
1.    123   456       789    012
2.    788   687       182    175
3.    849   149       104    187
..........
..........
..........
..........


一条一条记录替换我会,我想知道还有其他方法吗,repl 或者select 或者其他命令

回复列表 (共3个回复)

沙发

我喜欢用repl

use 表a in 0
use 表b in 0
repl 表a.a1 with substr(表b.b2,2,1)+substr(表a.a1,2)

板凳

select 1
use b
inde on 共同字段 to b
select 2
use a
set rela to 共同字段 into a
repl all a1 with subs(b2,2,1)+subs(a1,2,2) for 共同字段=a->共同字段

3 楼

一条语句就可搞定:

UPDATE 表a SET 表a.a1=STUFF(表a.a1,1,1,SUBSTR(表b.b2,2,1)) FROM 表b WHERE 表b.共同字段=表a.共同字段

我来回复

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