也许你们可以帮我一把;我有两个数据库,我需要将第二个数据库中的数据插入到第一个数据库中,但我还需要来自第一个数据库的Id。两个数据库都在同一台服务器上。
第一个数据库是BiologiaBd
,其中包含表格personal
,其中包含Id
列和名为nombre
的名称。
第二个数据库名为Herpetologia
,包含一个名为CuadernoCampo
的表,该表有一个名为IdCC
的ID和一个名为NomeColeCC
的名称。这与personal
BiologiaBd
的名称相同
所以,我有类似的东西
USE BiologiaBd
GO
INSERT INTO CuadernoCampo (codigoCuadernoCampo, idPersonal)
SELECT
IdCC, idPersonal
FROM
Herpetologia.dbo.CuadernosCampo, <--BiologiaBd
WHERE
idPersonal = (SELECT idPersonal
FROM BiologiaBd
WHERE nombre = (SELECT NomeColeCC
FROM Herpetologia.dbo.CuadernosCampo))
它不会起作用,因为我无法在&#34;中添加第一个数据库,有些想法?
非常感谢你们
答案 0 :(得分:2)
您可能需要加入,如:
INSERT INTO CuadernoCampo (codigoCuadernoCampo,idPersonal)
SELECT db1.IdCC, db2.idPersonal FROM CuadernosCampo db1
JOIN BiologiaBd db2 ON db1.nombre=db2.NomeColeCC
假设CuadernoCampo中的每条记录都有BiologiaBd记录。
答案 1 :(得分:1)
You should just be able to specify the database name:
insert into CuadernoCampo (codigoCuadernoCampo,idPersonal)
SELECT IdCC, idPersonal
FROM BiologiaBd.dbo.CuadernosCampo, <--BiologiaBd
where idPersonal = (select idPersonal from BiologiaBd where nombre = (Select
NomeColeCC from Herpetologia.dbo.CuadernosCampo))
这不起作用吗?
答案 2 :(得分:1)
如果有人想知道答案是这个
USE BiologiaBd
GO
INSERT INTO CuadernoCampo (codigoCuadernoCampo,idPersonal)
SELECT db1.IdCC, db2.idPersonal FROM Herpetologia.dbo.CuadernosCampo db1
JOIN BiologiaBd.dbo.Personal db2 ON db1.NomeColeCC=db2.nombre
再来一次!