有两张表,分别是用户表和收费表,现在两张表里边用户号相同的用户名不一样,怎么通过SQL语句把用户表里的用户名按照用户号导过去 ?我用下边这个语句结果把收费表里边的用户姓名全给清空了,请问该怎么办呢?这个数据很重要啊!
declare @i bigint
select @i = 20070000000060
update shoufei set yhid = @i 
declare @name  varchar 
select @name =yhxm   from customer where yhid=@i
update shoufei set yhxm=@name, 
@i=@i+1

解决方案 »

  1.   

    Update 收费表  set 用户名 = (Select 用户名 from 用户表 t2 where t2.用户号 = 用户号)
      

  2.   

    update 收费表 set 收费表.编号=(select 用户名 from 用户表 t2 where t2.用户号 = 用户号)
      

  3.   

    不对着么,报错了。谁再帮我看看啊 !
    子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
    语句已终止。