0

1 つのテーブルのみで 1 つの特定の列 (日付) から最大値を取得する必要があります。

サンプル データを含むテーブルを次に示します (SQL Server 2000 を使用)。

EMPLID            EFFDT                  EFF_STATUS   SUPPR_DDP_ADVICE
000619      2007-07-09 00:00:00.000 A   Y
000619      2008-04-04 00:00:00.000 A   Y
000619      2008-04-18 00:00:00.000 A   Y
000622      2013-06-21 00:00:00.000 A   Y

従業員ごとに複数の日付が存在する可能性があるEFFDTため、従業員ごとに MAX を取得できるようにしたいと考えていますEFFDT

私は試しました

SELECT  *
FROM    PS_DIRECT_DEPOSIT
WHERE   EFFDT < (SELECT MAX(EFFDT) FROM PS_DIRECT_DEPOSIT)
AND SUPPR_DDP_ADVICE = 'Y'

しかし、それでも重複が発生し、最大の EFFDT 日付が返されませんでした)。感謝の支援

4

3 に答える 3