Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как Access находит first и last в запросах с группировкой
 
 автор: sd   (27.06.2007 в 15:28)   личное сообщение
 
 

есть табл с полями: индекс товара/дата поставки/цена поставки. Нужно показать для каждого индекса последнюю дату поставки с ценой этой поставки. Решение: запрос с группировкой по индексу, для даты ставим груп операцию Max и вот вопрос - какую операцию ставить для цены? Можно поставить first - будет одна цена, last - другая цена. Причем это не зависит от того какую операцию ставить для даты. Можно даже вообще дату убрать - результаты не изменяться. Логично предположить, что Access при группировке каким-то образом сортирует записи внутри каждой группы, а затем выбирает max, min, first, last. Но как он сортирует. Как быть уверенным, что если выбрали последнюю дату поставки, цена будет соответствовать именно этой дате, а не другой?

  Ответить  
 
 автор: Силыч   (27.06.2007 в 15:35)   личное сообщение
 
 

>>Как быть уверенным, что если выбрали последнюю дату поставки, цена будет соответствовать именно этой дате, а не другой?

проверить глазами

  Ответить  
 
 автор: sd   (27.06.2007 в 17:43)   личное сообщение
 
 

если непонятен механизм, нельзя гарантировать, что соответствие в первых 10 записях означает соответствие во всех остальных, ведь при группировке теряется взаимозависимость полей, как при обычном наборе записей

  Ответить  
 
 автор: Explorer   (27.06.2007 в 18:48)   личное сообщение
 
 

посмотреть глазами

спецификации SQL и как исполняются стэйтменты, в какой последовательности с какими условиями и проч.

  Ответить  
 
 автор: ГлазастыйМышь   (27.06.2007 в 21:01)   личное сообщение
 
 

сначала нужно найти последнюю дату поставки для каждого товара (сделать подзапрос), а уже потом искать цену за этот день.
Другой вопрос если за день были 2 поставки с разными ценами

  Ответить  
 
 автор: sd   (27.06.2007 в 22:45)   личное сообщение
 
 

так можно, но, наверное, существует возможность сделать это одним запросом

  Ответить  
 
 автор: ГлазастыйМышь   (28.06.2007 в 09:12)   личное сообщение
 
 

ну можно в запросе прописывать подзапрос
хотите по другом - флаг в руки.
Найдете как, обязательно напишите.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList