2016-07-27 138 views
0

也许你们可以帮我一把;我有两个数据库,我需要从第二个数据库插入数据到第一个数据库,但我也需要第一个数据库的Id。两个数据库都在同一台服务器上。从另一个数据库和同一个数据库插入表(SQL Server)

第一个数据库是BiologiaBd,并包含表personal,其列Id和名称​​。

第二个数据库称为Herpetologia并包含一个名为CuadernoCampo表,这个表有一个名为IdCC一个ID和一个叫NomeColeCC名。这是相同的名称,在该表personalBiologiaBd

所以,我有这样的事情

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)) 

它不会工作,因为我不能在“从”添加第一个数据库,一些想法?

非常感谢球员

+0

Microsoft SQL Server 2014 – Esteban

+0

请看这里如何改进问题:https://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ – TheGameiswar

+0

噢,对不起,我的第一篇文章 – Esteban

回答

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 

THX!

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)) 

这难道不是工作?

+0

@Tri - “当你尝试代码”是什么? –

+0

对不起,我试着添加代码;该代码没有工作,因为表cuadernosCampo是在herpetologia数据库上,我需要添加2像这样从数据库FROM Herpetologia.dbo.CuadernosCampo,BiologiaBd,但我得到语法错误的FROM – Esteban

3

你可能需要一个连接,如:

INSERT INTO CuadernoCampo (codigoCuadernoCampo,idPersonal) 
    SELECT db1.IdCC, db2.idPersonal FROM CuadernosCampo db1 
    JOIN BiologiaBd db2 ON db1.nombre=db2.NomeColeCC 

假设有在CuadernoCampo每个记录在BiologiaBd的记录。

+0

thx,但是怎么样“从”我只是把这两个数据库? – Esteban

+0

只是第一个数据库。第二个数据库在JOIN之后指定 - 这是您在查询中“查找”的那个数据库。 –

+0

但如果我尝试USE BiologiaBd GO INSERT INTO CuadernoCampo(codigoCuadernoCampo,idPersonal) SELECT db1.IdCC,db2.idPersonal FROM CuadernosCampo DB1 JOIN BiologiaBd DB2 ON db1.nombre = db2.NomeColeCC FROM Herpetologia.dbo.CuadernosCampo我在 – Esteban

相关问题