日期:2014-05-17  浏览次数:20443 次

瞧一瞧看一看给我的建议来者给分!!
A、B两个数据库 , 分别有 t1、t2两张表
t1                        
id   name   id2  
1    sss    1
2    rr     5

t2
id  name
1   rr
2   ee

t1 和t2是关联的表 可以通过t1表中id2  找到对应的name

前提:A、B两个数据库 , 分别 t1、t2,id 都是自增长,数据可能不同

现在我已经把B数据库中t2表的数据插入到A数据库中了;我想向A数据库中的t1表插入B数据库中t1表中的数据, id2的插入不知道怎么插?id2中的关联id发生了变化,怎么写语句存储过程,或者一条语句都行?
大体思路:先关联数据库B中t1、t2表查找出对应的t2.name,通过这个name查找A数据库中t2表的ID ,然后将数据库B中t1表的数据连通查出来的ID插入 A数据库中t1表中
这样的 语句或者存储过错怎么写?谢谢! A.dbo.t1   A.dbo.t2    B.dbo.t1   B.dbo.t2   
------最佳解决方案--------------------
select t1.id,t1.name,(select max(id) from t2 where t2.name=t1.name)td2 from t1

------其他解决方案--------------------
用 游 标 ?
------其他解决方案--------------------
引用:
要插入语句阿

你先看看结果是不是正确的
------其他解决方案--------------------
你是在程序里插入吧,就直接select b库的 t2表的id,name 插入a库的t1表就可以了

你想直接插也可以
insert into srv.b.dbo.t1 select name,id from a.dbo.t2 --在a库的连接上执行。
------其他解决方案--------------------
表示有点费解
------其他解决方案--------------------
引用:
表示有点费解


我们都是水军

------其他解决方案--------------------
引用:
select t1.id,t1.name,(select max(id) from t2 where t2.name=t1.name)td2 from t1


要插入语句阿
------其他解决方案--------------------
引用:
你是在程序里插入吧,就直接select b库的 t2表的id,name 插入a库的t1表就可以了

你想直接插也可以
insert into srv.b.dbo.t1 select name,id from a.dbo.t2 --在a库的连接上执行。



要是程序做就不用这么费劲了,你这句明显错的