我有一个表,主键:USER, CHANNEL,
USER 表示用户ID,CHANNEL 表示用户使用的不用记录,简单表示如下:USER     CHANNEL      DATA1     DATA2
LIU       A            111       222
LIU       B            333       444
ZHA       A            555       666
ZHA       B            777       888现在需要把 LIU 的 DATA1 ,DATA2 更新成 ZHA 中对应的数据。

解决方案 »

  1.   

    update Table A 
    set 
    A.Data1= 
    (select B.Data1 from Table B where (A.CHANNEL= B.CHANNEL) AND (B.USER='ZHA')),
    A.Data2= 
    (select B.Data2 from Table B where (A.CHANNEL= B.CHANNEL) AND (B.USER='ZHA'))
    where A.USER='LIU'
      

  2.   

    update t1 
    set t1.Data1 = t2.Data1, t1.Data2 = t2.data2 
    from tablename t1 
    left join ( select channel, data1,data2 
                from tablename where user = 'ZHA') t2 on t1.channel = t2.channel
    where t1.user = 'LIU'
      

  3.   

    to: 47522341(睡到8:30)(最是她一低头的温柔) 
    我按照你的SQL写法,在ACCESS下会报错,说:语法错误(操作符丢失)>
    这是怎么为什么啊?