|
Отбор из Регистра сведений | ☑ | ||
---|---|---|---|---|
0
VSpicy
naïve
17.10.23
✎
14:40
|
Всем доброго дня! Я уже создавал эту тему: В СКД отбор по наименованию... но её уже закрыли(...
Есть Регистр сведений (ДокументыТС), в нем указаны ТС и все документы (ПТС, ОСАГО и т.п.) к нему. Также многие ТС уже имеют документы ОСАГО, но с булевом "Архив". Задача: нужно показать ТС у которых отсутствует ОСАГО, но если есть архивные, все равно показать эти ТС, т.к. нет действующего ОСАГО. Запрос ниже показывает ТС у которых вообще отсутствуют документы ОСАГО... Что поправить в запросе чтоб выполнялось вышеуказанное условие? ЗАРАНЕЕ БЛАГОДАРЕН!!! ВЫБРАТЬ уатТС.Ссылка КАК ТСБезОСАГО ПОМЕСТИТЬ вт_БезОСАГО ИЗ Справочник.уатТС КАК уатТС ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.уатДокументыТС КАК уатДокументыТС ПО уатТС.Ссылка = уатДокументыТС.ТС И (уатДокументыТС.ВидДокумента.Код = "000000001") ГДЕ уатТС.ДатаВыбытия = ДАТАВРЕМЯ(1, 1, 1) И уатТС.ДатаВыводаИзЭксплуатации = ДАТАВРЕМЯ(1, 1, 1) И уатДокументыТС.ВидДокумента ЕСТЬ NULL ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ вт_БезОСАГО.ТСБезОСАГО КАК ТС ИЗ РегистрСведений.уатДокументыТС КАК уатДокументыТС ЛЕВОЕ СОЕДИНЕНИЕ вт_БезОСАГО КАК вт_БезОСАГО ПО уатДокументыТС.ТС = вт_БезОСАГО.ТСБезОСАГО ГДЕ НЕ уатДокументыТС.Архив И уатДокументыТС.ТС.ДатаВыбытия = ДАТАВРЕМЯ(1, 1, 1) И уатДокументыТС.ТС.ДатаВыводаИзЭксплуатации = ДАТАВРЕМЯ(1, 1, 1) СГРУППИРОВАТЬ ПО вт_БезОСАГО.ТСБезОСАГО |
|||
1
PR
17.10.23
✎
14:43
|
Я знаю я знаю
Нужно поправить текст |
|||
2
petya_
petrov_63 17.10.23
✎
14:59
|
Надо запрограммировать. Т.е. написать алгоритм. Так как вы ограничены в средствах выполнения задачи, то потом алгоритм перевести в язык запросов.
Разве в предыдущей теме результат не был найден? |
|||
3
petya_
petrov_63 17.10.23
✎
15:09
|
Не вру. Наоборот надо по вашему запросу написать алгоритм который выполняется, потом сравнить с требуемым ТЗ и уточнить неточности.
Некоторые это делают консолью запросов с просмотром временных таблиц. |
|||
4
VSpicy
naïve
17.10.23
✎
15:17
|
Короче именно эту тему нужно закрыть!
Что-то я случайно дубль сделал)... |
|||
5
PR
17.10.23
✎
15:24
|
(4) Не командуй нам тут
|
|||
6
VSpicy
naïve
17.10.23
✎
15:51
|
(5) Это просто просьба...;-)
Короче я тупанул с поставленной задачей) Всё просто... Из запроса я хочу показать ТС у которых вообще нет документа ОСАГО и если документ ОСАГО есть, но находится в архиве (без действующих). |
|||
7
VSpicy
naïve
17.10.23
✎
16:14
|
Если так, показывает сразу всё, даже где есть действующие ОСАГО(((
ГДЕ уатТС.ДатаВыбытия = ДАТАВРЕМЯ(1, 1, 1) И уатТС.ДатаВыводаИзЭксплуатации = ДАТАВРЕМЯ(1, 1, 1) И (уатДокументыТС.ВидДокумента ЕСТЬ NULL ИЛИ уатДокументыТС.Архив = Истина) |
|||
8
petya_
petrov_63 17.10.23
✎
16:46
|
(7) наверное надо спросить чем отличается "ЛЕВОЕ" от "ПРАВОЕ" ...
Все же разбейте задачу на пункты и последовательно выполняйте их. Пока вы не выполните задачу по одному пункту мне кажется вам будет сложно добиться выполнения задачи по трем пунктам сразу. |
|||
9
Donkey_hot
17.10.23
✎
16:54
|
Писал в той старой закрытой ветке, адаптирую под уточнение, связанное с наличием признака Архив (изменения выделены жирным шрифтом):
1 вариант: Справочник ТС соединяете левым внешним соединением с вашим регистром по условию: Спр.Ссылка = Рег.ТС и Рег.ВидДокумента = ОСАГО И НЕ Рег.Архив, полученную выборку ограничиваете ГДЕ Рег.любоеполе ЕСТЬ NULL 2 вариант: выбираете во временную таблицу все ТС из регистра по условию ВидДокумента = ОСАГО И НЕ Архив, потом выбираете ТС из справочника по условию ГДЕ НЕ Спр.Ссылка в (Выбрать ТС из ВТ) |
|||
10
VSpicy
naïve
17.10.23
✎
16:55
|
(8) Во временной таблице - данные только по ТС имеющих ПУСТО по ОСАГО.
Я так понял предлагается вариант разбить во временные таблицы: где есть ОСАГО и где нет, а далее уже путем сравнения найти то что нужно... |
|||
11
petya_
petrov_63 17.10.23
✎
17:05
|
(10) УРРА )
Это по-поводу первого предложения. По поводу второго "сравнения" чуть чуть не то ... Ну что получается первое условие решено? Тогда решайте второе. И объединяйте результаты. А еще на дубли проверку добавьте .. |
|||
12
petya_
petrov_63 17.10.23
✎
17:30
|
(9) Мне кажется ТС не очень четко ставит условия по тому, что он хочет получить. А как говорится правильно заданный вопрос это уже 90% правильного ответа.
|
|||
13
Смотрящий
17.10.23
✎
17:39
|
По моему на новом движке форума неправильно отображается полоска стажа
|
|||
14
Мимохожий Однако
18.10.23
✎
07:01
|
(13) Да и хрен с ней, с этой полоской )
|
|||
15
VSpicy
naïve
18.10.23
✎
08:23
|
(9) Спасибо большое, ларчик просто открывался)!!!
А также всем спасибо за участие в этой теме! |
|||
16
yopQua
18.10.23
✎
08:26
|
(13) спасибо, кэп!))
|
|||
17
petya_
petrov_63 18.10.23
✎
09:24
|
(15) Так правильный ответ то будет раскрыт или останется тайной? )
|
|||
18
Мимохожий Однако
18.10.23
✎
10:37
|
(17) см (9)
|
|||
19
VSpicy
naïve
18.10.23
✎
12:19
|
(18) Точняк.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |