Я работаю над запросом, и он меня бросает.Help Access Query Help (Запросить запрос)
У меня есть таблица с большим количеством предложений, и у них есть дата создания, когда предложение было добавлено в базу данных. Я хочу сделать запрос, основанный на пользователе, выбирающем состояние, а затем запрос показывает только последнее созданное предложение.
Пример:
У меня есть 4 предложения. 2 из Делавера, созданного 1 января 2013 года и 1/2/2013. Другие 2 предложения из Мэриленда созданы на 1/3/2013 и 1/4/2014. Если пользователь вводит данные в штате Делавэр, он должен показать предложение на 1/2/2013, но если пользователь вводит данные в Мэриленде, он должен показать это предложение на 1/4/2013.
Во-первых, я попытался это
SELECT *
FROM Opportunity
WHERE (((Opportunity.CreationDate)=
(select max(Opportunity.CreationDate) from Opportunity)));
Это работает, он показывает мне 1 возможность, которая имеет самую последнюю дату. Итак, это половина битвы. но когда я пытался указать состояние, у меня возникают проблемы. Это Access, поэтому я подумал о создании запроса, который подскажет пользователю о состоянии, а затем перейдет во второй запрос, который будет запрашивать эти результаты для самого большого поля даты, но это не так. Итак, что у меня есть сейчас:
Запрос 1
Select * FROM Opportunity
и имеет всплывающее окно появляется, который запрашивает у пользователя для государства. Затем он отображает все результаты для этого состояния.
Запрос 2
SELECT * FROM OpportunityByState WHERE (((OpportunityByState.CreationDate)=(select max(Opportunity.CreationDate) from Opportunity)));
Примечание: Я редактировал SQL, прежде чем отправлять сюда, чтобы использовать символ все поля (*), так как доступ выписал каждое поле и есть около 60 из них, так что я Бесполезный Думаю, кто-то захочет увидеть эту стену текста.
Любые предложения были бы замечательными, и я надеюсь, что предоставил достаточно информации.
Один простой (но не гарантированный) способ уменьшить дубликаты, о которых вы упоминаете, - это сохранить дату и время в поле CreationDate. Тогда у вас будут только дубликаты, если 2 или более предложений будут сохранены в одни и те же дату и время. Технически возможно, но маловероятно. – PowerUser
Спасибо @PowerUser. Я полагаю, что если бы это считалось слишком резким изменением для текущей базы данных, тогда можно было бы создать дополнительный столбец для хранения времени отдельно, а дата и время могли бы быть вычисленным полем, где это необходимо, в конкретных запросах. (Расчет/добавление может не понадобиться, если время включено в выходной файл и отсортировано DESC вместе с CreationDate.) –