Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема запрос по последним... (число прочтений - 2740 )
kriblya
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 313
Зарегистрирован: 24. Декабря 2007
запрос по последним...
03. Февраля 2009 :: 08:54
Печать  
есть таблица закупок:

товар                клиент               дата              время          цена
молоко             магазин             01.01.09         17:00            9
молоко             магазин             10.01.09         17:00           10
молоко             магазин             01.02.09         18:00           11
кефир              ларек                01.01.09         17:00            8
кефир              ларек                01.02.09         17:00           20
молоко             ларек                03.02.09         18:00           11


надо выбрать последние закупки и получить
молоко             магазин             01.02.09         18:00           11
кефир              ларек                01.02.09         17:00           20
молоко             ларек                01.02.09         18:00           11

тоесть забить на строки
молоко             магазин             01.01.09         17:00            9
молоко             магазин             10.01.09         17:00           10
кефир              ларек                01.01.09         17:00            8

так как молоко в магазине покупалось последний раз 01.02.09         18:00
а кефир в ларьке 03.02.09         18:00

туплю... как это сделать селектом..
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: запрос по последним...
Ответ #1 - 03. Февраля 2009 :: 09:18
Печать  
  
Наверх
 
IP записан
 
kriblya
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 313
Зарегистрирован: 24. Декабря 2007
Re: запрос по последним...
Ответ #2 - 04. Февраля 2009 :: 08:55
Печать  
почитаем. но помоему простым селектом там не пахнет
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: запрос по последним...
Ответ #3 - 04. Февраля 2009 :: 09:06
Печать  
kriblya писал(а) 04. Февраля 2009 :: 08:55:
почитаем. но помоему простым селектом там не пахнет


А простым селектом и не сделать.
Если на пальцах :
В подзапросе определяешь макс дата и макс время по товар/клиент,
потом соединение с основной таблицей по товар/клиент/дата/время
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: запрос по последним...
Ответ #4 - 04. Февраля 2009 :: 09:18
Печать  
kiruha писал(а) 04. Февраля 2009 :: 09:06:
В подзапросе определяешь макс дата и макс время по товар/клиент,

Если это разные поля, полагаешь, он получит дату и время из одной записи?  Улыбка
Опять же, в условии задачи не сказано, что сочетание товар/клиент/дата/время - уникально..
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: запрос по последним...
Ответ #5 - 04. Февраля 2009 :: 09:35
Печать  
berezdetsky писал(а) 04. Февраля 2009 :: 09:18:
kiruha писал(а) 04. Февраля 2009 :: 09:06:
В подзапросе определяешь макс дата и макс время по товар/клиент,

Если это разные поля, полагаешь, он получит дату и время из одной записи?  Улыбка
Опять же, в условии задачи не сказано, что сочетание товар/клиент/дата/время - уникально..


У  kriblya кажется ДБФ -
Max(DTOS(Таб.date)+Таб.time+Таб.iddoc)
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: запрос по последним...
Ответ #6 - 04. Февраля 2009 :: 09:46
Печать  
Цитата:
Select
// Поля

FROM
(Select
Max(DTOS(Таб.date)+Таб.time+Таб.iddoc) as Ключ,
$Таб.Товар,
$Таб.Клиент
From
$Регистр.Магазины as Таб
GROUP BY $Таб.Товар,$Таб.Клиент
// здесь условия на товар и клиента, если нужно
) as ТабМакс
Left Join $Регистр.Магазины as ТабПодробно
on
(ТабМакс.Товар=$ТабПодробно.Товар)
AND(ТабМакс.Клиент=$ТабПодробно.Клиент)
AND(ТабМакс.Ключ=DTOS(ТабПодробно.date)+ТабПодробно.time+ТабПодробно.iddoc)
  
Наверх
 
IP записан
 
kriblya
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 313
Зарегистрирован: 24. Декабря 2007
Re: запрос по последним...
Ответ #7 - 04. Февраля 2009 :: 10:49
Печать  
Цитата:
У  kriblya кажется ДБФ
Да
спасибо. заработало.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать