簡體   English   中英

MS Access 查詢 SQL 聯合 Select 返回 -1

[英]MS Access Query SQL Union Select returns -1

我有一個帶有 SQL Union Select 的 MS Access 查詢,它在我的報告中返回 -1。 我假設 -1 是因為查詢返回 null 值,但我無法弄清楚如何使用 IFF() 語句停止在報告中顯示 -1。 這是 SQL 查詢:

SELECT [Employees].[Last Name] & ", " & [First Name] AS EmployeeName, Employees.[Active Employee], Employees.[Active Employee], Employees.[Active Employee]
FROM Employees
WHERE (((Employees.[Active Employee])=True))
ORDER BY [Employees].[Last Name] & ", " & [First Name];

UNION SELECT [Employees].[Last Name] & ", " & [First Name] AS EmployeeName, TypeOfAbsence.TypeOfAbsence, [Vacation Calendar].[Date Used], [Vacation Calendar].Time
FROM TypeOfAbsence INNER JOIN (Employees INNER JOIN [Vacation Calendar] ON Employees.ID = [Vacation Calendar].EmployeeID) ON TypeOfAbsence.ID = [Vacation Calendar].TypeID
WHERE ((([Vacation Calendar].[Date Used])<[Forms]![Week Ending Report Form]![End_Date] And ([Vacation Calendar].[Date Used])>[Forms]![Week Ending Report Form]![Start_Date]));

考慮使用 Null 作為 UNION 的字段占位符。 這將從重復的 [Active Employee] 字段中消除 -1 值。 刪除嵌入的分號,因為這將導致 UNION 失敗。 ORDER BY 子句可能沒用,因為排序應該由報表管理,如果設置了報表排序和分組,查詢順序肯定會被忽略。 第一個 SELECT 行定義字段數據類型和名稱。 不需要在后續的 SELECT 行中重復別名字段名稱。

SELECT [Last Name] & ", " & [First Name] AS EmployeeName, Null AS TOA, Null AS DU, Null AS TU
FROM Employees
WHERE (((Employees.[Active Employee])=True))

UNION SELECT [Last Name] & ", " & [First Name], TypeOfAbsence, [Date Used], [Time] 
FROM TypeOfAbsence 
INNER JOIN (Employees INNER JOIN [Vacation Calendar] 
ON Employees.ID = [Vacation Calendar].EmployeeID) 
ON TypeOfAbsence.ID = [Vacation Calendar].TypeID
WHERE ((([Vacation Calendar].[Date Used])<[Forms]![Week Ending Report Form]![End_Date] And ([Vacation Calendar].[Date Used])>[Forms]![Week Ending Report Form]![Start_Date]));

還要考慮這個過濾條件:
WHERE [Date Used] BETWEEN [Forms]![Week Ending Report Form]![Start_Date] AND [Forms]![Week Ending Report Form]![End_Date]

暫無
暫無

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

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