从另一个数据库和同一个数据库插入表(SQL Server)
也许你们可以帮我一把;我有两个数据库,我需要从第二个数据库插入数据到第一个数据库,但我也需要第一个数据库的Id。两个数据库都在同一台服务器上。从另一个数据库和同一个数据库插入表(SQL Server)
第一个数据库是BiologiaBd
,并包含表personal
,其列Id
和名称。
第二个数据库称为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))
它不会工作,因为我不能在“从”添加第一个数据库,一些想法?
非常感谢球员
只是如果有人想知道的答案又是这个
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!
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))
这难道不是工作?
@Tri - “当你尝试代码”是什么? –
对不起,我试着添加代码;该代码没有工作,因为表cuadernosCampo是在herpetologia数据库上,我需要添加2像这样从数据库FROM Herpetologia.dbo.CuadernosCampo,BiologiaBd,但我得到语法错误的FROM – Esteban
你可能需要一个连接,如:
INSERT INTO CuadernoCampo (codigoCuadernoCampo,idPersonal)
SELECT db1.IdCC, db2.idPersonal FROM CuadernosCampo db1
JOIN BiologiaBd db2 ON db1.nombre=db2.NomeColeCC
假设有在CuadernoCampo每个记录在BiologiaBd的记录。
thx,但是怎么样“从”我只是把这两个数据库? – Esteban
只是第一个数据库。第二个数据库在JOIN之后指定 - 这是您在查询中“查找”的那个数据库。 –
但如果我尝试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
Microsoft SQL Server 2014 – Esteban
请看这里如何改进问题:https://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ – TheGameiswar
噢,对不起,我的第一篇文章 – Esteban