#0
by EvgeniuXP
Есть дата начала и дата окончания (одна таблица) как узнать попала дата (другая таблица) в этот период или нет через запрос?
#3
by EvgeniuXP
И второе: Дата начала 01.01.2010 05.08.2010 08.12.2012 и т.д. нужно получить таблицу: 01.01.2010 05.08.2012 05.08.2010 08.12.2012 08.12.2012 NULL (или текущая дата)
#9
by EvgeniuXP
левое соединение Период1 < Период2, далее группировка и получение минимального значения.
#14
by EvgeniuXP
это таблицу я получил первую (дата начала, дата окончания)... теперь из второй таблицы надо определить попадают ли ее даты в первую таблицу (, если да - то выбрать.
#16
by Vertalex
Интересно, что второй столбец это поднятый на 1 позицию вверх - левый. А в левом - исходный столбец. Вопрос ко всем - можно ли запросом (v.8) добавлять к исходной таблице колонку с инкрементом (значения 1,2,3 и т.д.)?? Тогда можно было бы сделать левое соединение по условию разницы (=1) между инкрементными колонками...
#17
by Vertalex
ответы про соединение по МЕЖДУ: в исходном условии не говорилось произвести расстановку по условию, а дать ответ по каждой строке таблицы периодов и таблицы дат - входит дата или нет в период. Ведь так? Запросом это не просто сделать, мне кажется.
#18
by EvgeniuXP
можно, для этого выбираешь Ссылка < Ссылка2 и группируешь, получаешь 1, 2, 3 и т.д. именно так.
#20
by Vertalex
соединение работает по принципу "соединить (сопоставить, произвести расстановку) строки если выполнится условие". А это в задаче НЕ требуется. Нужно построчно (для каждой строки таблицы периодов и той-же (по порядку) строки таблицы проверяемых дат) сказать (в новом каком-то результирующем булевом столбце) - входит/не входит.
#21
by EvgeniuXP
ЛЕВОЕ СОЕДИНЕНИЕ _2_Периоды КАК _2_Периоды ПО (_1_УникальныеДаты.Дата МЕЖДУ _2_Периоды.ДатаНачала И _2_Периоды.ДатаОкончания) УПОРЯДОЧИТЬ ПО всё
#22
by Vertalex
- ну это же вроде и есть расстановка (периоды сопоставятся по уникальным датам). Я думал условие задачи таки другое (описал в )
#24
by Vertalex
- не понял как это... Вообще, интересно придумать как делать инкрементную колонку таблицы, чтобы при этом размер запроса не зависел от количества строк в таблице....
#26
by Aprobator
запрос чуток тока подрихтовать,немного модифицировать третье поле в выбрать и делов то.
#28
by ILM
Мужики, вы о чем пишите? Простое условие: ГДЕ ПРОВЕРЯЕМАЯДАТА >= Т.ДАТАНАЧАЛА И ПРОВЕРЯЕМАЯДАТА <= Т.ДАТАОКОНЧАНИЯ
#30
by Vertalex
повторю: при соединении происходит сопоставление по условию вхождения в период и строки с таблицы периодов "раскидываются" по своим строкам с уникальной датой. А нужно, чтобы они шли также как и были + должна добавиться колонка с признаком - входит или не входит. Кодом это 2 секунды. Запросом - хз как.
#33
by EvgeniuXP
левое соединение Т.Ссылка <= Т1.Ссылка, группируешь по ссылке сумма по количеству ссылка 1
#36
by Vertalex
- это все хорошо когда все в одной таблице, но таблица периодов и таблица уникальных дат - это две разные. Нужно сначала сделать прямое построчное сопоставление. Как?
#37
by ILM
Таблица проверяемых дат и таблица периодов? Ха-ха, ВЫБРАТЬ ТОДИН.ПРОВЕРЯЕМАЯДАТА, ТДВА.ПЕРИОДНАЧАЛА, ТДВА.ПЕРИОДОКОНЧАНИЯ, ИСТИНА КАК ПРИЗНАК ИЗ ТАБЛИЦАДАТ КАК ТОДИН, ТАБЛИЦАПЕРИОДОВ КАК ТДВА ГДЕ ТОДИН.ПРВЕРЯЕМАЯДАТА>= ТДВА.ДАТАНАЧАЛА И ТОДИН.ПРОВЕРЯЕМАЯДАТА <= ТДВА.ДАТАОКОНЧАНИЯ
#39
by Vertalex
так вроде получилось (инкремент появился). Интересный прием... что-то мне подсказывает что он будет работать не только для дат. Для каких еще типов он применим? ВЫБРАТЬ
#41
by ILM
Можно для любого праймари кея так делать. Группировка и сравнение могут быть и по группе полей, например чисел: номер передела. Номер затраты. Номер партии. И.т.д.
#45
by ILM
Можно еще и ускорить запрос раза в три, добавив два условия и связь между таблицами сделать. Какие отгадайте сами)))
#46
by Vertalex
- тут я так понял перемножены таблицы и оставлены только строки с условием попадания в периоды. Немного не то. Вот пример. таблица периодов строка 1: с первого по пятое марта строка 2: с первого по пятое апреля таблица дат строка 1: третье марта строка 2: шестое апреля Ожидаемый Результат строка 1: с первого по пятое марта / третье марта / Истина строка 2: с первого по пятое апреля / шестое апреля / Ложь
#48
by Mishell
А если так: Таблицы передаются в запрос в параметры (Таблица1, Таблица2) Таблица1 содержит периоды, колонки Дата1 и Дата2,Таблица2 даты для которых необходимо определить их вхождение, в результат попадут даты попавшие в интервалы, при желании можно выбрать и сами интервалы. ВНУТРЕННЕЕ СОЕДИНЕНИЕ Таблица1 КАК Таблица1 ПО (Таблица2.Дата МЕЖДУ Таблица1.Дата1 И Таблица1.Дата2)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как узнать дату начала и дату окончания выбранную в списке документов?
- Задать Дату начала и дату окончания стандартного периода
- v7: Пустая дата не определяется как Дата(0)
- Дата начала следующего месяца
- Как в ЗУП узнать работал человек в этот день или нет?
- Дата запрета изменения и дата запрета загрузки данных
В этой группе 1С
- Поле HTML документа - Ошибка скрипта
- создаю журнал документа не могу вставить графу
- СКД, разделить стандартный период на два?
- Как вывести Пользовательские Настройки СКД (включая группировки) на форму 1С ?
- v8: СКД при совмещении наборов - дублируются данные из наборов.
- Сложности с решением задачи использования РЛС
- РАУЗ УТ11 и УП20. где расчет себестоимости?
- SQL, Пользователь ИБ не идентифицирован
- v7: Как при проведении одного документа сделать несколько проводок на разные даты
- Конвертация данных - Правило выгрузки объекта
- 1С 8.2 ЗуП, слетают привязки в документах
- Отбор по колонкам с ненулевыми значениями
- Произвольный список значений на управляемой форме
- ОЛЕ с 7.7 - бухгалтерские итоги по проводкам
- КД 2.1 Передача параметров из ПКС в ПКО
- настройки отчетов в УТ 11
- событие ПриИзменении()
- Как прикрепить вложение в почте яндекс на windows phone
- КД 2.1 Создание Счета-фактуры на основании РеализацииТУ
- Внедрение БСП в пустую конфигурацию