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 以便在我的 combobox.The 中得到(全部)问题是我不知道如何向 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;

关于如何在我的组合框中添加所有列和(全部)值的任何想法?

Br,

您需要为它们添加值,以便 UNION 的子查询具有相同的列数。 NULL 通常是一个合理的值:

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

您可能需要空字符串。另外,使用 UNION ALL 而不是 UNIONUNION 会产生删除重复项的开销,在这种情况下这是不必要的。

这可能有效。两个候选连接中的列数应该相等

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