Запрос на удаление нескольких строк на основе самой старой даты - PullRequest
0 голосов
/ 22 июля 2010

Работа в MS Access 2003 с пакетом обновления 3 (SP3): у меня есть запрос, который я выполняю, чтобы узнать, какие «машины» были проданы с датой после даты поставки.У меня тысячи строк.Когда все это сказано и сделано, я хочу иметь несколько строк для каждой «машины» и затем самую старую дату.Есть предложения?

CAR          DATE ORDERED   DATE DELIVERED  CUSTOMER NUMBER DATE SOLD
FORD MUSTANG    20061002             20080413            ABC123          20080422
FORD MUSTANG    20061002             20080413            ABC124          20080429
CHEVY IMPALA    20061002             20080413            ABC125          20080505

1 Ответ

0 голосов
/ 23 июля 2010

Это могло бы быть лучше, если бы у вас было поле идентификатора:

DELETE 
FROM Cars
WHERE Cars.DATESOLD Not In (
             SELECT TOP 5 DateSold 
             FROM Cars c 
             WHERE c.Car=Cars.Car 
             ORDER BY DateSold DESC) 
And Cars.DATESOLD Not In (
             SELECT TOP 1 DateSold 
             FROM Cars c 
             WHERE c.Car=Cars.Car 
             ORDER BY DateSold)

Если есть повторяющиеся даты, вы получите более 5 записей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...