跨数据库联合查询 [英] Union Query Across Databases

查看:71
本文介绍了跨数据库联合查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想对 C:\DB\DB1.mdb 中的 qry_1 和 C:\DB\DB2.mdb 中的 qry_2 运行联合查询

I want to run a union query on qry_1 in C:\DB\DB1.mdb and qry_2 in C:\DB\DB2.mdb

我看到的所有例子都只展示了如何在同一个数据库中的查询上运行联合查询,当查询在不同的数据库中时,你怎么能做到这一点?

All examples I have seen only show how to run a Union Query on query's in the same database, how can you do this when the query's are in different databases?

编辑---Grr,不像我所追求的那样显示结果.这会显示每个条目两次.有没有办法只显示一次条目?例如,如果 qry_1 返回 Joe 14、Jack 16、Jimmy 12 和 qry_2 返回 Joe 22、Jack 48、Jimmy 66,有没有办法在 UNION 查询中对这些结果求和?我尝试像这样将语法更改为组,但没有用:

EDIT --- Grr, not quite displaying results like I was after. That shows each entry twice. Is there a way to only show the entry one time? For example if qry_1 returns Joe 14, Jack 16, Jimmy 12 and qry_2 returns Joe 22, Jack 48, Jimmy 66 is there a way to SUM those results in the UNION Query? I tried changing the syntax to a group by like so, but didn't work:

Select Name, Count FROM [C:\DB\DB1.mdb].qry_1
UNION ALL
SELECT Name, Count FROM [C:\DB\DB2.mdb].qry_2
GROUP BY Name, Count

推荐答案

对于您的情况没有任何改变,请使用:

For your case nothing changed, use:

SELECT * FROM [C:\DB\DB1.mdb].qry_1
UNION ALL
SELECT * FROM [C:\DB\DB2.mdb].qry_2

UPD:要对它们求和,我会推荐 GROUP BY.假设我们将上层查询保存为 qry_U 然后像这样尝试:

UPD: To SUM them i would recommend GROUP BY. Let's say we saved upper query as qry_U then try smth like this:

SELECT [Name], SUM([Numbers]) FROM [qry_U] GROUP BY [Name]

这篇关于跨数据库联合查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆