|
Отчет с двумя ВТ, выбор ВТ в зависимости от условия
| ☑ |
0
N-S-B
30.08.17
✎
20:16
|
Есть отчет на СКД. В зависимости от значения параметра, данные должны тянуться либо из одного регистра, либо из другого.
Сделал две временные таблицы, в одной результат одного регистра, в другой соответственно другого.
В результирующем запросе две таблицы соединены полным соединением, вытягиваю поля по условию ВЫБОР КОГДА &Параметр = 1 ТОГДА ВТ1.Поле ИНАЧЕ ВТ2.Поле КОНЕЦ. В каждой ВТ так же стоит условие ВЫБОР КОГДА &Параметр <> 1 ТОГДА ЛОЖЬ КОНЕЦ, чтобы в результирующем запросе не было задвоений.
В принципе работает, но хочу узнать как правильно решить данную задачу, когда в зависимости от условия брать либо одну ВТ, либо другую.
|
|
1
Волшебник
модератор
30.08.17
✎
20:18
|
Сделай 2 отчёта.
|
|
2
DrShad
30.08.17
✎
20:36
|
правильно не делать лишних выборок
|
|
3
RS2017
30.08.17
✎
20:37
|
(0) Зачем ты их соединяешь? Надо объединять.
Выбрать
..
ИЗ ВТ1 где &ИспользоватьВТ1
объединить все
Выбрать
..
ИЗ ВТ2 где &ИспользоватьВТ2
|
|
4
N-S-B
30.08.17
✎
20:49
|
(3) Хм, действительно, так намного проще)
А остальное нормально, что во временной таблице просто стоит условие ВЫБОР КОГДА &Параметр <> 1 ТОГДА ЛОЖЬ КОНЕЦ ? Или может есть еще более оптимальный вариант?
|
|
5
RomaH
naïve
30.08.17
✎
20:53
|
(4) в крайних версиях платформы можно писать просто
ГДЕ &Параметр = 1
|
|
6
RomaH
naïve
30.08.17
✎
20:54
|
да и в более ранних тоже (в преложении ГДЕ)
(5) верно для значений полей
|
|
7
RS2017
30.08.17
✎
20:55
|
(5) в условии (где) так можно было всегда (начиная с 8.0)
|
|
8
Филиал-msk
30.08.17
✎
23:08
|
(4) ЛОЖЬ КОНЕЦ
|
|