2015-10-20 110 views
0

我有以下問題,我有一個窗體,我創建了一個組合框,用於過濾。我行來源SQL查詢看起來是這樣的:MS Access:SQL查詢「Union All」

SELECT Employee_ComboBox.LastName,Employee_ComboBox.FirstName, Employee_ComboBox.ID,Employee_ComboBox.OperatingEntity,Employee_ComboBox.OrganisationNameFull 
FROM Employee_ComboBox 
ORDER BY Employee_ComboBox.[ID]; 

我想補充UNION SELECT "(All)" FROM讓我得到(全部)在我的combobox.The問題是我不知道如何超過1列到SQL查詢。我想是這樣的:

SELECT Employee_ComboBox.LastName FROM Employee_ComboBox UNION SELECT "(All)" FROM Employee_ComboBox; 這個工作,但是當我嘗試添加其他列我做了什麼wrong..Example:

SELECT Employee_ComboBox.LastName,Employee_ComboBox.FirstName FROM Employee_ComboBox UNION SELECT "(All)" FROM Employee_ComboBox; 

我如何能添加所有列和任何想法的(全部)我的Combobox的價值?

BR,

回答

1

這可能工作。列不應該在兩位候選人同等的加入

SELECT Employee_ComboBox.LastName, Employee_ComboBox.FirstName 
    FROM Employee_ComboBox 
    UNION ALL 
    SELECT "(All)" as LastName,"" as FirstName FROM Employee_ComboBox; 
+0

是的,這是我一直在尋找的。謝謝 – adp

0

您需要爲它們添加值,所以對於UNION子查詢具有相同的列數。 NULL通常是一個合理的值:

SELECT Employee_ComboBox.LastName, Employee_ComboBox.FirstName 
FROM Employee_ComboBox 
UNION ALL 
SELECT "(All)", NULL FROM Employee_ComboBox; 

您可能需要空字符串。此外,使用UNION ALL而不是UNIONUNION招致刪除重複的開銷,在這種情況下這是不必要的。

+0

謝謝,這看起來不錯。但我試過之後'選擇Employee_ComboBox.LastName,Employee_ComboBox.FirstName,Employee_ComboBox.ID'添加和它不工作。我收到一條錯誤消息:「兩個選定表格或聯合查詢的查詢中的列數不匹配」..我錯過了什麼,在添加1個列時是否需要添加某些麥克風? – adp