我需要从访问中删除一些记录。我的数据看起来像是
RDNUMB | RD SEQ | COUNTDATE | COUNT
-------+--------+-----------+--------
101200 | 10 | 3/25/12 | 120
101200 | 20 | 2/27/13 | 1400
101200 | 20 | 6/15/11 | 905
101200 | 20 | 10/1/07 | 1020
我需要找出一种方法来查看RDNUMB和RD SEQ,如果有更新日期的记录,则删除整个记录。在这种情况下,我需要删除日期为6/15/11和10/1/07的记录。
RD SEQ不仅仅是这个RDNUMB的唯一性,它被反复使用。
谢谢你的想法和时间
答案 0 :(得分:0)
从SQL Perspective来看,这就是你想要做的事情:
DELETE T
FROM YourTable AS T
JOIN ( SELECT RDNUMB, RDSEQ, COUNTDATE
FROM YourTable AS YT
WHERE YT.RDNUMB = T.RDNUMB AND YT.RDSEQ = T.RDSEQ
AND YT.CountDate <> (SELECT MAX(COUNTDATE) FROM YourTable
WHERE RDNUMB = YT.RDNUMB AND RDSEQ = YT.RDSEQ)
) AS R
ON R.RDNUMB = T.RDNUMB AND R.RDSEQ = T.RDSEQ AND R.COUNTDATE = T.COUNTDATE