|
Приведение даты в запросе | ☑ | ||
---|---|---|---|---|
0
seraf
21.07.21
✎
11:17
|
Привет, вроде простой вопрос
ВЫБРАТЬ | МИНИМУМ(Таблица.ДатаНачала) КАК ДатаНачала, | МАКСИМУМ(Таблица.ДатаОкончания) КАК ДатаОкончания |ИЗ | РегистрСведений.Периоды КАК Таблица |ГДЕ | Таблица.Сотрудник = &Сотрудник | И Таблица.Регистратор В(&МассивДокументов) Один регистратор пишет дату начала, второй окончания, как в запросе всегда выбирать значимый минимум, а не чтобы в случае отсутствия Даты начала возвращало пустую дату |
|||
1
Адинэснег
21.07.21
✎
11:20
|
ни*** не понятно
|
|||
2
dubolom
21.07.21
✎
11:20
|
МИНИМУМ В(ВЫБОР КОГДА
Таблица.ДатаНачала = &ПустаяДата ТОГДА &ОченьПоздно ИНАЧЕ Таблица.ДатаНачала КОНЕЦ) КАК ДатаНачала Первое, что на ум пришло. В параметр ПустаяДата передавать пустую дату, а в параметр ОченьПоздно - 1 января 2100 года. |
|||
3
azernot
21.07.21
✎
11:20
|
Что есть "значимый минимум" если нет "Даты начала"?
|
|||
4
fisher
21.07.21
✎
11:20
|
Отсутствие даты - это пустая дата? Тогда
МИНИМУМ(ВЫБОР КОГДА Таблица.ДатаНачала = ДАТАВРЕМЯ(1,1,1) ТОГДА NULL ИНАЧЕ Таблица.ДатаНачала КОНЕЦ) КАК ДатаНачала |
|||
5
Адинэснег
21.07.21
✎
11:23
|
Один интервал будет? Тогда выбрать в 2 таблицы, собрать минимумы дат начал, в первой, максимумы дат окончания второй, объединить, сгруппировать
|
|||
6
fisher
21.07.21
✎
11:25
|
А вообще регистр говнокодный, конечно.
|
|||
7
Адинэснег
21.07.21
✎
11:28
|
(6) ну в старых типовых типа такого был "Состояние сотрудников организаций" :)
|
|||
8
Said_We
21.07.21
✎
11:32
|
(7) А сейчас состояние сотрудников другой? "ДействуетДо" не таже дата окончания? + "ОкончаниеПредположительно" ?
|
|||
9
seraf
21.07.21
✎
11:36
|
(5) ну да интервал один, регистратора 2. Регистратор1 отдает даты начала, Регистратор2 даты окончания, соответственно если они оба присутствуют то Регистратор2 отдаст в минимум пустую дату, которая меня не интересует)
ну понял, наверное просто разбить выборки по типу документов. думал как-то одной строкой |
|||
10
Said_We
21.07.21
✎
11:42
|
(9) Тебе одной строкой в (4) написали.
|
|||
11
seraf
21.07.21
✎
11:47
|
(10) понял, а минимум максимум при наличии NULL в списке выберут значения?
|
|||
12
Said_We
21.07.21
✎
11:50
|
Максимум(NULL, ЗначениеНеNULL) = ЗначениеНеNULL
Минимум(NULL, ЗначениеНеNULL) = ЗначениеНеNULL |
|||
13
seraf
21.07.21
✎
11:54
|
ага спасибо еще раз
|
|||
14
Said_We
21.07.21
✎
12:06
|
(13)
Ещё можно попробовать добавить ЕстьNULL(), что бы у ДатаНачала тип был дата на выходе даже при отсутствии данных: ЕстьNULL(МИНИМУМ(ВЫБОР КОГДА Таблица.ДатаНачала = ДАТАВРЕМЯ(1,1,1) ТОГДА NULL ИНАЧЕ Таблица.ДатаНачала КОНЕЦ), ДАТАВРЕМЯ(1,1,1)) КАК ДатаНачала |
|||
15
Said_We
21.07.21
✎
12:07
|
При отсутствии требуемых данных. Есть дата окончания, а даты начала нет... :-)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |