注册 登录
编程论坛 SQL Server论坛

两个结构相同的数据库怎样可以更方便的进行合并查询

z060831 发布于 2016-01-19 10:07, 6710 次点击
现有2个数据库a和b,结构是一样的,也可以说数据库b是a分离出来的,数据库b的数据不会再变。
怎么样可以更方便的合并查询这两个数据库?每次查询都用union太麻烦的了。我现在的做法是这样的:
程序代码:
SELECT *
FROM a.TABLE
UNION ALL
SELECT *
FROM b.TABLE T
WHERE NOT EXISTS(SELECT 1 FROM a.TABLE T2  WHERE T2.ID=T.ID)
8 回复
#2
z0608312016-01-19 11:25
没人有更好的方法吗?跪求
#3
hu9jj2016-01-19 13:05
建议改变思路,添加一个字段,对记录进行分类,然后取数时既可以取总数(合并),也可以取分类(a、b)。
#4
z0608312016-01-19 17:28
问题是几百个表不可能每个表都添加一个字段。

#5
hu9jj2016-01-19 20:22
表结构一样的为什么不可能呢?用一个表作原始表,添加一个字段,并为这个字段赋上特定的值,然后逐个表添加进这个原始表,并为这个添加字段的空值赋上标志值。一次性处理可能要花费点时间,以后取数就方便多了。
#6
z0608312016-01-20 09:04
不是很明白,能详细点吗?
#7
hu9jj2016-01-20 19:51
增加一个字段,将这个字段的值赋值为a,将第2个表添加到这个表,将这个字段中空值的记录(也就是第2个表的记录)赋值为b,其余类推。
#8
z0608312016-01-20 20:33
按我对你的话的理解,是不是将两个数据库合并起来啊,可是我第二数据库就是从第一个数据库切割出来的啊
还是我没弄明白你说的意思
#9
wtujedp2016-01-22 14:15
你可以将union 的关联外面加套上视图。
下次查询的时候,直接查视图,可以解决你每次union的问题
1