我有以下问题,我有一个表格,我创建了一个用于过滤的组合框。我的行源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
以便我在我的组合框中获得(全部)。问题是我不知道如何在SQL查询中添加多个列。我试过像:
SELECT Employee_ComboBox.LastName FROM Employee_ComboBox UNION SELECT "(All)" FROM Employee_ComboBox;
这是Works,但是当我尝试添加其他列时,我做错了。例如:
SELECT Employee_ComboBox.LastName,Employee_ComboBox.FirstName FROM Employee_ComboBox UNION SELECT "(All)" FROM Employee_ComboBox;
关于如何在我的Combobox中添加所有列和(全部)值的任何想法?
BR,
答案 0 :(得分:1)
这可能有用。在两个连接候选者中,列的数量不应相等
SELECT Employee_ComboBox.LastName, Employee_ComboBox.FirstName
FROM Employee_ComboBox
UNION ALL
SELECT "(All)" as LastName,"" as FirstName FROM Employee_ComboBox;
答案 1 :(得分:0)
您需要为它们添加值,以便UNION
的子查询具有相同的列数。 NULL
通常是合理的价值:
SELECT Employee_ComboBox.LastName, Employee_ComboBox.FirstName
FROM Employee_ComboBox
UNION ALL
SELECT "(All)", NULL FROM Employee_ComboBox;
您可能希望使用空字符串。另外,请使用UNION ALL
代替UNION
。 UNION
会产生删除重复项的开销,在这种情况下这是不必要的。