Sql server 2008 r2 SQL Server:基于两个表在一个表中插入值';数据
我在两个不同的数据库中有两个同名的表<Sql server 2008 r2 SQL Server:基于两个表在一个表中插入值';数据,sql-server-2008-r2,Sql Server 2008 R2,我在两个不同的数据库中有两个同名的表TableA包含一列ServerName,而DatabaseB中的另一列TableA包含ServerId列。我在DatabaseB中有第三个表TableB,其中包含ServerId和ServerName,我想将DatabaseA中的ServerName及其DatabaseB中的ServerId映射到DatabaseB表a 例如 在数据库A中: ServerName MyServer HisServer HerServer 表A: ServerNa
DatabaseA中的code>TableA
包含一列ServerName
,而DatabaseB中的另一列TableA
包含ServerId
列。我在DatabaseB
中有第三个表TableB
,其中包含ServerId
和ServerName
,我想将DatabaseA
中的ServerName
及其DatabaseB
中的ServerId
映射到DatabaseB
表a
例如
在数据库A中
:
ServerName
MyServer
HisServer
HerServer
表A
:
ServerName
MyServer
HisServer
HerServer
在数据库b
:
ServerId | ServerName
1 MyServer
2 HisServer
3 HerServer
表b
:
ServerId | ServerName
1 MyServer
2 HisServer
3 HerServer
我想将服务器名映射到服务器ID,并将ID插入DatabaseB的TableA中
提前感谢。这是一个完整的脚本
USE master;
IF EXISTS (SELECT * FROM sys.databases WHERE name = N'DatabaseA')
DROP DATABASE DatabaseA;
IF EXISTS (SELECT * FROM sys.databases WHERE name = N'DatabaseB')
DROP DATABASE DatabaseB;
CREATE DATABASE DatabaseA;
CREATE DATABASE DatabaseB;
GO
USE DatabaseA;
GO
CREATE TABLE dbo.TableA (
ServerName sysname NOT NULL
);
INSERT INTO dbo.TableA VALUES (N'MyServer');
INSERT INTO dbo.TableA VALUES (N'HisServer');
INSERT INTO dbo.TableA VALUES (N'HerServer');
SELECT * FROM dbo.TableA;
GO
USE DatabaseB;
GO
CREATE TABLE dbo.TableA (
ServerID smallint NOT NULL
);
CREATE TABLE dbo.TableB (
ServerID smallint NOT NULL,
ServerName sysname NOT NULL
);
INSERT INTO dbo.TableB VALUES (1, N'MyServer');
INSERT INTO dbo.TableB VALUES (2, N'HisServer');
INSERT INTO dbo.TableB VALUES (3, N'HerServer');
SELECT * FROM dbo.TableB;
-- "I want to map the ServerNames to the ServerIds and insert the Ids into DatabaseB's TableA."
INSERT INTO dbo.TableA (
ServerID
)
SELECT bb.ServerID
FROM DatabaseA.dbo.TableA AS aa
JOIN DatabaseB.dbo.TableB AS bb
ON aa.ServerName = bb.ServerName;
SELECT * FROM dbo.TableA;
以及输出:
ServerName
-------------
MyServer
HisServer
HerServer
ServerID ServerName
-------- -------------------
1 MyServer
2 HisServer
3 HerServer
ServerID
--------
1
2
3
标记为答案,因为您帮助我找到了一个稍微简单一点的解决方案。:-)