powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Создание запроса на выборку для прайс-листа.
8 сообщений из 8, страница 1 из 1
Создание запроса на выборку для прайс-листа.
    #32245554
Фотография drbond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, господа!
Обращаюсь к вам за помощью по такой проблеме:
Есть таблица структуры PodgruppaTovara, NaimenovanieTovara, CenaTovara, Data. В ней как видно содержатся данные о товарах. Причём наименования товара могут быть абсолютно идентичными и отличается лишь дата поступления товара на склад.
Задача - отобрать для прайс-листа товары с наиболее поздней датой поступления на склад. Т.е последние поступления. Причём никакой временной диапазон явно задавать не нужно. Достаточно будет отбора в запросе последней (наиболее поздней) даты поступления каждого товара.
Пробовал запрос вида:
Select from PrePrice TovarPodgruppa, TovarNaimenovanie, TovarCena
where Data = Max(Data);
Возвращает один товар с максимальным значением даты. А как отобрать все товары?
Помогите!!! Очень надо! Заранее благодарен.
...
Рейтинг: 0 / 0
Создание запроса на выборку для прайс-листа.
    #32245555
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БД какая?

вообще-то я б сделал хранимую процедуру.... но вполне возможно что эта задача решается и просто селектом.
на ИБ/ФБ моя практика показала что для более менее сложных запросов, тем более связанных с бизнеслогикой лучше использовать ХП.
...
Рейтинг: 0 / 0
Создание запроса на выборку для прайс-листа.
    #32245628
Фотография drbond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БД MS Access. Доступ через ADO. Можно конечно написать и хранимую процедуру. Но какую? Я думаю, что здесь возможно нужно делать так - в цикле выводить наименования товаров, а потом отбирать тот товар значение даты которого максимальное. Почему не сделано таким образом? Есть подозрение, что такой запрос будет работать весьма медленно, тем более при значительном количестве записей в исходной таблице > 3-4 тыс.
Может кто сталкивался с подобным? Каким образом вы формируете свои прайсы? Только простая выборка из БД? Или всё-таки с учётом последних поступлений товара?
...
Рейтинг: 0 / 0
Создание запроса на выборку для прайс-листа.
    #32245698
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это же простой Select с группировкой и максом по дате
...
Рейтинг: 0 / 0
Создание запроса на выборку для прайс-листа.
    #32245717
Фотография drbond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Типа:
Select from PrePrice TovarPodgruppa, TovarNaimenovanie, TovarCena
where Data = Max(Data) Group by TovarNaimenovanie; ?
...
Рейтинг: 0 / 0
Создание запроса на выборку для прайс-листа.
    #32245723
JSW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSW
Гость
Select PrePrice TovarPodgruppa, TovarNaimenovanie, TovarCena
from <Таблица>
where Data in
(select Max(Data) from <Таблица> );
...
Рейтинг: 0 / 0
Создание запроса на выборку для прайс-листа.
    #32245728
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень плохо, что база не нормализована, конечно.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT
  PodgruppaTovara,
  NaimenovanieTovara,
  CenaTovara,
  Data
FROM
  tblPrice
WHERE
  Data = (SELECT TOP  1  Data FROM tblPrice tblPrice1 
          WHERE tblPrice1.NaimenovanieTovara = tblPrice1.NaimenovanieTovara
          ORDER BY Data DESC)


Вот тока поймет ли такой запрос Access, на TSQL это работает.
...
Рейтинг: 0 / 0
Создание запроса на выборку для прайс-листа.
    #32245733
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ох, уж это Copy\Paste. :-(

В подзапросе должно быть:

Код: plaintext
1.
2.
...
WHERE tblPrice1.NaimenovanieTovara = tblPrice.NaimenovanieTovara
...
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Создание запроса на выборку для прайс-листа.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]