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
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
FROM T2 n ,t1 m
WHERE m.realid=n.whoresult参赛 111
参赛 222
阿布 333
阿布 444
彩电 555
彩电 666
彩电 777
--第一个
UPDATE T2 SET who=(SELECT realname FROM T1 WHERE realid=T2.who)--第二个UPDATE T1 SET realid=realname
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
update t1 set realid=realname
FROM T1 m,t1 n
WHERE m.realid=n.realidresult参赛 参赛
阿布 阿布
彩电 彩电
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
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
SQL大家都给出了:
update T2 set who=(select realname from T1 where T2.who=T1.realid )
update T1 set realid=realname