Здравствуйте, подскажите пожалуйста, хочу объединить два запроса в один, и сделать чтобы если первый запрос не нашёл значение, то выполнился второй, и если первый нашёл то второй не выполнялся, каким макаром это можно сделать ?
(0) А особых вариантов нет.
Либо выполнять оба запроса с объединением и из результат выбирать какое-то одно значение.
Либо последовательно выполнять два запроса - сначала один и если результата нужного нет, то второй.
Разбивать на два отдельных запроса имеет смысл, если второй запрос сольно тяжелый. Если оба запроса лёгкие, то возможно быстрее и проще объединить.
Можно ещё попытаться угадать вероятность. Насколько часто первый запрос будет возвращать пустой результат.
(2) Да куда уж красивее. Извращаться имеет смысл если СКД, например.
Тогда можно первый во временную таблицу, а потом объединение запроса к ней и второго, где в условиях прописать ГДЕ 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ ВременнаяТаблица), а во втором отрицание соответственно.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший