select t1.realname as who ,t2.say
from t1 left join t2 
on t1.realid = t2.whoselect a.realname as realid ,b.realname
from t1 as a join t1 as b 
on a.realid = b.realid

解决方案 »

  1.   

    SELECT m.realname ,say
    FROM T2 n ,t1 m
    WHERE m.realid=n.whoresult参赛 111
    参赛 222
    阿布 333
    阿布 444
    彩电 555
    彩电 666
    彩电 777
      

  2.   


    --第一个
    UPDATE T2 SET who=(SELECT realname FROM T1 WHERE realid=T2.who)--第二个UPDATE T1 SET realid=realname
      

  3.   

    --1
    select id=row_number() over(order by say),a.realname,b.say  from t1 as a,t2 as b
    where a.realid=b.who
    --2
    select id=row_number() over(order by @@rowcount),realid=realname,realname from t1 
      

  4.   

    update t2 set who =realname from t2,t1 where t1.realid=t2.who
    update t1 set realid=realname
      

  5.   

    SELECT n.realname AS realid,m.realname
    FROM T1 m,t1 n
    WHERE m.realid=n.realidresult参赛 参赛
    阿布 阿布
    彩电 彩电
      

  6.   

    UPDATE T2
    SET who = T1.realname
    FROM T1 
    WHERE T2.who = T1.realidUPDATE T1
    SET realid =realname
    SELECT * FROM T2
    /*who say
    参赛 111
    参赛 222
    阿布 333
    阿布 444
    彩电 555
    彩电 666
    彩电 777*/SELECT * FROM T1
    /*realid realname
    参赛 参赛
    阿布 阿布
    彩电 彩电*/DROP TABLE T1
    DROP TABLE T2
      

  7.   

    貌似LZ是想要修改后的效果if object_id('t1')>0
    drop table t1
    CREATE TABLE T1 
    (
       realid    varchar(255), 
       realname  varchar(255),
    )
    if object_id('t2')>0
    drop table t2
    CREATE TABLE T2 
    (
       who  varchar(255), 
       say  varchar(255),
    )INSERT INTO T1 (realid, realname) VALUES ('cs', '参赛')
    INSERT INTO T1 (realid, realname) VALUES ('ab', '阿布')
    INSERT INTO T1 (realid, realname) VALUES ('cd', '彩电')
    SELECT * FROM T1INSERT INTO T2 (who, say) VALUES ('cs', '111')
    INSERT INTO T2 (who, say) VALUES ('cs', '222')
    INSERT INTO T2 (who, say) VALUES ('ab', '333')
    INSERT INTO T2 (who, say) VALUES ('ab', '444')
    INSERT INTO T2 (who, say) VALUES ('cd', '555')
    INSERT INTO T2 (who, say) VALUES ('cd', '666')
    INSERT INTO T2 (who, say) VALUES ('cd', '777')update t2 set who = t1.realname from t1 left join t2 on t1.realid=t2.who
    update t1 set realid = a.realname from t1 join t1 as a on t1.realid=a.realidselect * from t1
    select * from t2
    结果
    参赛 参赛
    阿布 阿布
    彩电 彩电
    参赛 111
    参赛 222
    阿布 333
    阿布 444
    彩电 555
    彩电 666
    彩电 777
      

  8.   

    一定要先更新T2的值,然后再更新T1的值,否则,T2跟T1表的关联字段值丢失,无法更新!
    SQL大家都给出了:
    update T2 set who=(select realname from T1 where T2.who=T1.realid )
    update T1 set realid=realname