Ms-Access
使用“last”訪問查詢並顯示其餘部分
我有一個關於測量工具的 Access DB。
我有 2 個表:
tblTools
,其中包含設備的詳細資訊,tblCalibration
包含校準每個設備的時間。tblTools: tool_ID; tool_Name tblCalibration: calibration_ID; tool_ID ;calibration_Date
我寫了一個查詢來獲取最後的校準日期,但它只顯示具有校準日期的設備。我需要結果來顯示所有設備,而不僅僅是那些已經校準的設備。
是否有任何解決方案可以列出所有設備以及最後校準日期(如果存在)?
此查詢選擇每個工具的最後校準日期。
SELECT t.tool_Name ,( SELECT TOP 1 c.calibration_Date FROM tblCalibration c WHERE t.tool_ID = c.tool_ID ORDER BY c.calibration_Date DESC ) FROM tblTools t
如果您想查看必須使用 LEFT JOIN 的所有工具和校準事件:
SELECT t.tool_Name ,c.calibration_Date FROM tblTools t LEFT JOIN tblCalibration c ON t.tool_ID = c.tool_ID ORDER BY t.tool_Name, c.calibration_Date DESC --ORDER BY is optional
第一個查詢返回所有工具和該工具最後一次校準的日期。如果您有 100 個工具,您將獲得 100 條記錄,無論您對每個工具校準多少次。第二個查詢將返回所有工具和所有校準事件。它返回工具的所有校準而不是最後一個校準。