如何从另一个数据库覆盖现有表

时间:2015-09-16 20:02:36

标签: sql

我已经尝试了很多次,但我再也找不到合适的答案我要求同样的任务,

1个查询

  select * From acct_db.dbo.acct_tran where trc_acno='12008001'

如果我这样搜索,我会得到10行,

2查询

+---------------+-------+-------+
|CID            |Flag   |Value  |
+---------------+-------+-------+
|1              |F      |10     |
|1              |N      |20     |
|2              |F      |12     |
|2              |N      |23     |
|2              |F      |14     |
|3              |N      |21     |
|3              |N      |22     |
+---------------+-------+-------+

我得到4行  所以我想从(第二个查询)数据库插入(第一个查询)数据库的值 所以答案行将是10 + 4 = 14行(我的意思是覆盖1个查询数据库)

1 个答案:

答案 0 :(得分:1)

如果我理解正确的问题并且假设2个表的模式相同是正确的,那么你想要的是一个UNION。

select * From acct_db2016.dbo.acct_tran where trc_acno='12008001'
UNION
select * From acct_db.dbo.acct_tran where trc_acno='12008001'

要将第二个查询的结果插入第一个表格,您应该使用以下内容:

INSERT INTO acct_db2016.dbo.acct_tran select * From acct_db.dbo.acct_tran where trc_acno='12008001'

此语法可能因您使用的数据库而异。此链接应该为您提供有关通用SQL实现的更多详细信息。 http://www.w3schools.com/sql/sql_insert_into_select.asp