SQL 到 select 最大日期 table 只有 1 个日期

SQL to select max date from table with only 1 date

我有这个 SQL 代码:

SELECT MH.[PM#], 
       MH.[Work Done], 
       MH.[Date Done], 
       MH.Comments, 
       MH.[SEM Completed by]
 FROM [Maintenance History tbl] AS MH
WHERE (((MH.[Work Done])="LT") 
  AND ((MH.[Date Done]) =
        ( SELECT Max(MH2.[Date Done])
            FROM [Maintenance History tbl] AS MH2
           WHERE MH2.[PM#] = MH.[PM#]
        )
      ));

这将选择完成日期最近的四个字段。

如果只有 1 行,这将不起作用。

如果只有 1 行,我怎样才能使这个 return 成为最大日期?

我想你漏掉了子查询里面的过滤条件Work Done = "LT"。尝试将其添加为:

SELECT MH.[PM#], 
       MH.[Work Done], 
       MH.[Date Done], 
       MH.Comments, 
       MH.[SEM Completed by]
 FROM [Maintenance History tbl] AS MH
WHERE (MH.[Work Done] = "LT"
  AND (MH.[Date Done] =
        ( SELECT Max(MH2.[Date Done])
            FROM [Maintenance History tbl] AS MH2
           WHERE MH2.[PM#] = MH.[PM#]
             and MH2.[Work Done] = "LT"
        )
      ));