2

如果生成/生成了 PSR,我有一个表,每个月都会为每个项目状态报告 (PSR) 生成一条记录。从单个表中,我需要获取每个 PSR 的最新记录。

这给了我正在寻找的 PSR 列表:

SELECT Max(Main.PSRMonth) AS MaxOfPSRMonth, Main.PE, Main.Loc, Main.EWO
FROM Main
GROUP BY Main.PE, Main.Loc, Main.EWO
ORDER BY Main.PE, Main.Loc, Main.EWO;

Table:Main 
Primary Key is PSRMonth + PE + EWO + LOC

FROM Main现在,我需要基于上述选择的所有字段。我想用一个 SQL 语句来做到这一点。

4

1 回答 1

1

根据上面的选择,我需要来自 Main 的所有字段。

然后试试这个:

SELECT m1.*
FROM Main m1
INNER JOIN 
(
    SELECT 
      Max(PSRMonth) AS MaxOfPSRMonth, 
      PE, 
      Loc, 
      EWO
    FROM Main 
    GROUP BY PE, Loc, EWO 
) m2 ON  m1.PE = m2.PE AND m1.Loc = m2.Loc AND m1.EWO = m2.EWO 
     AND m1.PSRMonth = m2.MaxOfPSRMonth
ORDER BY m1.PE, M1.Loc, M1.EWO;
于 2012-10-26T21:04:13.463 回答