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 日付が返されませんでした)。感謝の支援