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

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

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

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


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