Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
03 дек 2024, 20:26

Четверг. Вопрос 2

Автор mixqn, 14 мар 2013, 00:39

0 Пользователей и 1 гость просматривают эту тему.

katrin_vl

  Дата      Валюта    Курс       Кратность
04.06.2010   EUR      38,0117     1

shest


Smile

04.06.2010   
EUR   
38,0117   
1
Выбирается последнее значение когда значение курса было больше 38

saleksvik

Результатом запроса будет набор:
04.06.2010    EUR    38,0117    1

Escander

Цитата: mixqn от 14 мар 2013, 00:39Какой будет результат выполнения такого запроса


будет отобрана запись от 04.06.2010 ( EUR; 38,0117; 1)

TimonChD

Ответ:


04.06.2010 0:00:00EUR38,01171

AAlexandra

Цитата: mixqn от 14 мар 2013, 00:39Какой будет результат выполнения такого запроса


04.06.2010EUR38,01171
Выполняется поиск последней даты, когда курс был > 38.

adamx

04.06.2010   EUR   38,0117       1

SVGLVV

В результате запроса будет одна запись от 04.06.2010. Т.е. в случае , когда не задан параметр Период и задано Условие,  из таблицы СрезПоследних будет отобрана наиболее поздняя запись, удовлетворяющая условию.

headmade

Запрос вернет 04.06.2010, EUR,  38.0117 ,1
   т.к. условие "Курс > 38" внесено через параметры виртуальной таблицы, то при выборе данных из БД будут выбраны записи регистра, у которых значение поле курс > 38, а уже потом из этих записей будут выбраны наиболее поздние (для каждого сочетания из всех имеющихся значений измерений регистра).
   Если бы условие "Курс > 38" в запросе было не в параметрах виртуальной таблицы, а было бы прописано через условие "ГДЕ КурсыВалютСрезПоследних.Курс > 38", то запрос не вернул бы ни одного значения т.к. в этом случае сначала из регистра будут получены наиболее поздние записи (для каждого сочетания из всех имеющихся значений измерений регистра)  (т.е. вернуло бы 07.06.2010, EUR,  37.8476 ,1  ), а у же потом к этим записям было бы применено условие "ГДЕ КурсыВалютСрезПоследних.Курс > 38".

Теги:
Рейтинг@Mail.ru

Поиск