2014-09-05 54 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