簡體   English   中英

MS Access:SQL查詢“ Union All”

[英]MS Access : SQL Query “Union All”

我有以下問題,我有一個為其創建用於過濾的組合框的表單。 我的行源SQL查詢看起來像這樣:

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以便在組合框中獲得(All)。問題是我不知道如何向SQL查詢添加多於1列。 我嘗試了類似的東西:

SELECT Employee_ComboBox.LastName FROM Employee_ComboBox UNION SELECT "(All)" FROM Employee_ComboBox; 這有效,但是當我嘗試添加其他列時,我做錯了..例如:

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

關於如何在組合框中添加所有列和(所有)值的任何想法?

這可能有效。 兩個聯接候選者的列數均應相等

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

您需要為其添加值,以便UNION的子查詢具有相同的列數。 NULL通常是一個合理的值:

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

您可能需要空字符串。 另外,使用UNION ALL代替UNION UNION會產生刪除重復項的開銷,在這種情況下,這是不必要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM