Имя: Пароль:
1C
1С v8
выполнить второй запрос есть первый не нашёл значение
0 ШурикОвёрт
 
15.02.22
09:19
Здравствуйте, подскажите пожалуйста, хочу объединить два запроса в один, и сделать чтобы если первый запрос не нашёл значение, то выполнился второй, и если первый нашёл то второй не выполнялся, каким макаром это можно сделать ?
1 pechkin
 
15.02.22
09:20
сделай лучше 2 запроса
2 ШурикОвёрт
 
15.02.22
09:21
(1) у меня сейчас так, но подумал  мб можно красивее сделать
3 Aleksandr N
 
15.02.22
09:28
объединить, добавить поле приоритет. по нему и искать.
4 Dmitrii
 
гуру
15.02.22
09:52
(0) А особых вариантов нет.
Либо выполнять оба запроса с объединением и из результат выбирать какое-то одно значение.
Либо последовательно выполнять два запроса - сначала один и если результата нужного нет, то второй.
Разбивать на два отдельных запроса имеет смысл, если второй запрос сольно тяжелый. Если оба запроса лёгкие, то возможно быстрее и проще объединить.
Можно ещё попытаться угадать вероятность. Насколько часто первый запрос будет возвращать пустой результат.
5 fisher
 
15.02.22
10:05
(2) Да куда уж красивее. Извращаться имеет смысл если СКД, например.
Тогда можно первый во временную таблицу, а потом объединение запроса к ней и второго, где в условиях прописать ГДЕ 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ ВременнаяТаблица), а во втором отрицание соответственно.
6 fisher
 
15.02.22
10:08
Это если в новых релизах уже exists не реализовали. Пора бы.
7 Garykom
 
гуру
15.02.22
10:11