|
выполнить второй запрос есть первый не нашёл значение
| ☑ |
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
|
|
|