2014-09-05 25 views
0

我有一种情况,我想在select语句中组合两个表进行查询,但我还没有找到工作解决方案。SQL在select语句中组合两个表

现状: 表A 表B

A和B具有相同的字段,但不同的种群。我有其他查询是分别从每个表拉。

我想建立一个查询,从他们那里拉,就好像他们是一个表。两个表中都没有记录实例。

我的研究至今使我觉得FULL OUTER JOIN是我想要的东西,但我不完全知道该怎么做时,我真的不加入他们任何领域,它在我的失败试验。所以我搜索了附加选项,认为它可以更准确地表示我正在尝试执行的操作,INSERT INTO看起来很有前景,但对于select语句来说看起来并不那么如此。有没有办法做到这一点,或者我需要创建第三个表,这是前两个查询的组合?

这是作为Excel VBA查询通过DAO访问完成的。我基于用户选择的选项在我的VBA代码中逐个构建SQL语句,然后将结果提取到Excel中以供使用。因为我希望能够只改变FROM语句(因为我在逐步建立查询)以实现此目的,所以select语句的任何其他方面都不会受到影响。任何建议或帮助将非常感谢!

+0

使用UNION子句 – Bulat 2014-09-05 20:28:52

+0

可能重复[将两个select语句组合到返回n一个结果](http://stackoverflow.com/questions/2790938/combining-two-select-statements-to-return-one-result) – Bulat 2014-09-05 20:31:50

+0

正如你所说UNION是你想要的。 [文档](https://office.microsoft.com/zh-cn/access-help/combine-the-results-of-several-select-queries-by-using-a-union-query-HA010341541.aspx )描述了如何使用它的一些例子。 – jpw 2014-09-05 20:34:02

回答

0

可以UNION表做到这一点:

SELECT StuffYouWant 
FROM (SELECT * 
     FROM TableA 
     UNION ALL 
     SELECT * 
     FROM TableB) c 
+0

谢谢,这正是我需要的!我没有意识到我也可以在我的父语句的FROM子句中执行更多的select语句;我把它放在我的代码中,其他所有东西都完美地从那里运行! – 2014-09-08 12:23:54

0

事情是这样的:

SELECT * FROM a 
UNION 
SELECT * FROM b 

确保a表和b表具有相同的列数和相应的列具有相同的数据类型

+0

感谢您的帮助! – 2014-09-08 12:45:23