[英]MS Access SQL - UNION Returns Empty Set
我在Access中遇到一個奇怪的行為。 我基本上在VBA項目中有兩個預定義的查詢,它們在程序的不同部分都需要正常運行。
現在,我需要一個將兩個結果集都返回為一個的查詢。 因此,我的解決方案是創建一個結合其他兩個查詢的新查詢。 就像:
SELECT * FROM query1
UNION
SELECT * FROM query2;
這兩個查詢的結果具有相同的布局。 但是,如果query1的結果為空,而query2的結果中包含一些記錄,那么我從上面的代碼中收到空的結果。 另一種方法(query2的結果為空-query1的結果為多個)可以為我提供完整的結果。
我還通過切換兩個查詢測試了上面的代碼。 但是行為是相同的。 與UNION ALL相同。
這里可能是什么問題?
編輯:所以,我做了一些進一步的測試。 原因似乎在query2內。 它甚至無法與自身結合。 因此,如果我嘗試:
SELECT * FROM query2
UNION ALL
SELECT * FROM query2;
我再次得到一個空集。 當我只在SELECT部分中使用一個字段時,情況相同。
Edit2:好的,它會變得更好。 數據集為空,但在查詢結果的表視圖中,我的所有數據都在列的過濾器中。 但是,如果我做一個Count(rowname),我得到的回報是0。
經過兩天的測試,我受夠了並將代碼移到另一台計算機上。 在那里工作。 因此,在將其導出到新計算機上並將其傳輸到我的PC后,所有功能均應正常運行。 所以我想這是與我使用的前端有關的問題。
因此,如果您遇到麻煩。 同樣,請確保您的項目沒有任何損壞。 (即使Access沒有顯示任何錯誤)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.