Текущее время: Ср, июл 23 2025, 00:59

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: select max(date), max(time)
СообщениеДобавлено: Пн, окт 01 2012, 10:07 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 08 2010, 11:37
Сообщения: 322
Добрый день.

Задача простейшая, выбрать из таблицы строчку с максимальной датой(дата и время)
Возможно ли написать одним запросом без обработки внутренней таблицы?

С уважением


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: select max(date), max(time)
СообщениеДобавлено: Пн, окт 01 2012, 10:19 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Пт, сен 21 2012, 21:01
Сообщения: 4
как-то так

select ... into ... from <таблица> order by <поле с датой> DESCENDING <поле с временем> DESCENDING.
exit.
endselect.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: select max(date), max(time)
СообщениеДобавлено: Пн, окт 01 2012, 10:21 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 08 2010, 11:37
Сообщения: 322
order by, работает только с ...INTO TABLE... от этого хочу уйти

То есть:
Code:
    SELECT zsimple utvdat utvtime INTO lv_zsimple FROM z79y_fin as t
      WHERE invobj = lv_invobj ORDER BY utvdat DESCENDING utvtime DESCENDING.
      EXIT.
    ENDSELECT.

дату и время, надо включать в результат, а это не нужно...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: select max(date), max(time)
СообщениеДобавлено: Пн, окт 01 2012, 10:47 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 08 2010, 11:37
Сообщения: 322
Korvax написал:
Code:
select date max(time) where date eq (select max(date))

Опять же, max(time) хотелось бы не выводить в результат


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: select max(date), max(time)  Тема решена
СообщениеДобавлено: Пн, окт 01 2012, 10:51 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, сен 19 2011, 13:29
Сообщения: 492
Пол: Мужской
Code:
SELECT zsimple INTO lv_zsimple FROM z79y_fin AS t
  WHERE invobj  EQ lv_invobj AND
        utvdat  EQ ( SELECT MAX( utvdat )  FROM z79y_fin AS t WHERE invobj = lv_invobj ) AND
        utvtime EQ ( SELECT MAX( utvtime ) FROM z79y_fin AS t
                       WHERE invobj EQ lv_invobj AND
                             utvdat EQ ( SELECT MAX( utvdat ) FROM z79y_fin AS t WHERE invobj = lv_invobj ) ).


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: select max(date), max(time)
СообщениеДобавлено: Пн, окт 01 2012, 10:57 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Пт, сен 21 2012, 21:01
Сообщения: 4
LELUK написал(а):
order by, работает только с ...INTO TABLE... от этого хочу уйти

То есть:
Code:
    SELECT zsimple utvdat utvtime INTO lv_zsimple FROM z79y_fin as t
      WHERE invobj = lv_invobj ORDER BY utvdat DESCENDING utvtime DESCENDING.
      EXIT.
    ENDSELECT.

дату и время, надо включать в результат, а это не нужно...


работает и без выборки поле с датой и временем.
SELECT zsimple INTO lv_zsimple FROM z79y_fin WHERE invobj = lv_invobj ORDER BY utvdat DESCENDING utvtime DESCENDING.
EXIT.
ENDSELECT.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: select max(date), max(time)
СообщениеДобавлено: Пн, окт 01 2012, 11:01 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 08 2010, 11:37
Сообщения: 322
The field "UTVDAT" from the ORDER BY clause is missing in the SELECT
list. is missing in the SELECT list. is missing in the SELECT list. is
missing in the SELECT list. is missing in the list. is missing in the
"UTVDAT".

Вот что получиться в итоге


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: select max(date), max(time)
СообщениеДобавлено: Пн, окт 01 2012, 11:03 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 08 2010, 11:37
Сообщения: 322
Korvax написал:
Code:
SELECT zsimple INTO lv_zsimple FROM z79y_fin AS t
  WHERE invobj  EQ lv_invobj AND
        utvdat  EQ ( SELECT MAX( utvdat )  FROM z79y_fin AS t WHERE invobj = lv_invobj ) AND
        utvtime EQ ( SELECT MAX( utvtime ) FROM z79y_fin AS t
                       WHERE invobj EQ lv_invobj AND
                             utvdat EQ ( SELECT MAX( utvdat ) FROM z79y_fin AS t WHERE invobj = lv_invobj ) ).

Не работает :roll:


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: select max(date), max(time)
СообщениеДобавлено: Пн, окт 01 2012, 11:12 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 08 2010, 11:37
Сообщения: 322
Добавил группировку и все заработало. Спасибо.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: select max(date), max(time)
СообщениеДобавлено: Пн, окт 01 2012, 12:01 
Специалист
Специалист

Зарегистрирован:
Чт, дек 16 2010, 15:23
Сообщения: 133
Откуда: Набережные Челны
Пол: Мужской
А чем так не устраивает?
Code:
SELECT SINGLE zsimple utvdat utvtime INTO lv_zsimple FROM z79y_fin as t
      WHERE invobj = lv_invobj ORDER BY utvdat DESCENDING utvtime DESCENDING.

Так оказывается не прокатит, сортировку нельзя применять при SINGLE


Последний раз редактировалось broker.chelny Пн, окт 01 2012, 12:15, всего редактировалось 1 раз.

Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: select max(date), max(time)
СообщениеДобавлено: Пн, окт 01 2012, 12:04 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 08 2010, 11:37
Сообщения: 322
LELUK написал(а):
дату и время, надо включать в результат, а это не нужно...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: select max(date), max(time)
СообщениеДобавлено: Пн, окт 01 2012, 12:24 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, сен 19 2011, 13:29
Сообщения: 492
Пол: Мужской
LELUK написал(а):
Не работает :roll:
Code:
SELECT SINGLE zsimple INTO lv_zsimple FROM z79y_fin AS t
  WHERE invobj  EQ lv_invobj AND
        utvdat  IN ( SELECT MAX( utvdat )  FROM z79y_fin WHERE invobj = lv_invobj ) AND
        utvtime IN ( SELECT MAX( utvtime ) FROM z79y_fin
                       WHERE invobj EQ lv_invobj AND
                             utvdat IN ( SELECT MAX( utvdat ) FROM z79y_fin WHERE invobj = lv_invobj ) ).


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB