Как написать sql запрос, если значение результата равно нулю, а затем попытаться с другим запросом - PullRequest
1 голос
/ 18 апреля 2020

Мне трудно написать запрос, где для моего первого запроса, если я получаю нулевое значение или нет результата, мне нужно выполнить второй запрос, ниже приведены мои два sql запроса, в любом из запросов один запрос возвращает null и one вернут значения.

sql query-1:

select b.* 
from  idm.relationships a, idm.persons b 
where a.fullobject like ${orgId}
  and substring_index(substring_index(substring_index(a.fullobject,'\"firstId\":\"',-1),'\"',1),'/',-1) = b.objectId 
order by b.LoginId asc;

sql query-2:

select b.*
from  idm.relationships a, idm.persons b 
where a.fullobject like ${orgId}
  and substring_index(substring_index(substring_index(a.fullobject,'\"secondId\":\"',-1),'\"',1),'/',-1) = b.objectId
order by b.LoginId asc;

Я пытаюсь понять как я могу объединить оба вышеупомянутых запроса в один запрос с условием IF ELSE, когда один дает ноль, а другой дает результат с некоторыми значениями.

1 Ответ

0 голосов
/ 18 апреля 2020

Вы можете использовать «или оператор» для фильтрации соответствующих условий:

select b.* from idm.relationships a, idm.persons b where a.fullobject like ${orgId} and (substring_index(substring_index(substring_index(a.fullobject,'\"firstId\":\"',-1),'\"',1),'/',-1) = b.objectId or substring_index(substring_index(substring_index(a.fullobject,'\"secondId\":\"',-1),'\"',1),'/',-1) = b.objectId) order by b.LoginId asc;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...