我有3个不同的数据库database1, database2, and database3
。
我在每个数据库中都有一个表Account
。在我的database1
和database2
表Account
中,我有3列ID, Username, and Password
,在我的数据库3表中,帐户我有4列ID, Username, Password, and db_name
我想要做的是在database1.Account
中插入所有database2.Account
和database3.Account
数据,在第4列中,我需要确定它来自哪个数据库。
顺便说一下,我已经做到了,但我对我的解决方案不满意,因为我花了3个查询。我想尽可能地用1个查询来实现它。如果可能的话。
P.S:抱歉我的英文不好答案 0 :(得分:0)
待办事项
INSERT INTO database3.account(ID,Username,Password, db_name)
SELECT ID, Username, Password, "1" FROM database1.account
然后做
INSERT INTO database3.account(ID,Username,Password, db_name)
SELECT ID, Username, Password, "2" FROM database1.account
答案 1 :(得分:0)
使用union可以实现这一点。
INSERT INTO database3.dbo.Account (ID, Username, Password,db_name)
SELECT ID, Username, Password,'database1' FROM database1.dbo.Account
UNION
SELECT ID, Username, Password,'database2' FROM database2.dbo.Account
答案 2 :(得分:-1)
INSERT INTO database3.dbo.Account (ID, Username, Password,db_name)
SELECT ID, Username, Password,'database1'
FROM database1.dbo.Account
WHERE (some condition)
INSERT INTO database3.dbo.Account (ID, Username, Password,db_name)
SELECT ID, Username, Password,'database2'
FROM database2.dbo.Account
WHERE (some condition)