powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Условие в запросе на выборку данных из присоединенных таблицах
6 сообщений из 6, страница 1 из 1
Условие в запросе на выборку данных из присоединенных таблицах
    #40058825
Atlipoka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго дня!

Написал запрос, который выбирает данные из таблички, примерно 25 тыс. записей. Соединяю таблички LEFT JOIN, условно назовем таблица 1 и 2.
Как и какое условие мне написать в запросе, какую функцию использовать, чтоб можно было проверять данные сначала в таблице 1, если там нет данных по условию, то идти в таблицу 2?
Ниже сам запрос, пометил где таблица 1 и 2.


Select distinct
oj.Number as Policy,
oj.contractid,
asct.CreationDate,
ag.TaskId,
sta.Number,
sta.Error,
st.Number,
st.Error
from AgentStatementContracts asct (nolock)
---
LEFT JOIN OsagoJson oj (nolock) ON asct.ContractId=oj.ContractId
LEFT JOIN AgentStatements ag (nolock) ON asct.TaskId=ag.TaskId
LEFT JOIN TaskData.archive.Tasks ta ON ag.TaskId=ta.Id
LEFT JOIN TaskData.archive.Steps sta (nolock) ON ta.Id=sta.TaskId ---таблица 1
LEFT JOIN TaskData.archive.Steps st (NOLOCK) ON st.Name = 'WaitAction' and st.Result not in ('no action') and st.Result not in ('archive task') and asct.ContractId=JSON_VALUE(st.Result,'$.ContractId') --таблица 2
---
where oj.StatusId not in (23)
and asct.TaskId not in (select id from taskdata.pool.tasks (nolock))
and oj.Number = '3018695145'
...
Рейтинг: 0 / 0
Условие в запросе на выборку данных из присоединенных таблицах
    #40058828
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atlipoka,

isnull(tbl1.f1, tbl2.f2)
...
Рейтинг: 0 / 0
Условие в запросе на выборку данных из присоединенных таблицах
    #40059027
Atlipoka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,

Спасибо, помогли.

Теперь возник другой вопрос, в случае, если записи есть и там и там, как сделать приоритетней выбор из таблицы 1?
При этом, соблюдая условие, что вы описали выше.
...
Рейтинг: 0 / 0
Условие в запросе на выборку данных из присоединенных таблицах
    #40059062
ol_chig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Atlipoka,

Код: sql
1.
iif(tbl1.f1 is null, tbl2.f2, tbl1.f1)
...
Рейтинг: 0 / 0
Условие в запросе на выборку данных из присоединенных таблицах
    #40059066
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ol_chig
Atlipoka,

Код: sql
1.
iif(tbl1.f1 is null, tbl2.f2, tbl1.f1)


для этого есть функция COALESCE
...
Рейтинг: 0 / 0
Условие в запросе на выборку данных из присоединенных таблицах
    #40059172
DaniilSeryi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atlipoka
Владислав Колосов,

Спасибо, помогли.

Теперь возник другой вопрос, в случае, если записи есть и там и там, как сделать приоритетней выбор из таблицы 1?
При этом, соблюдая условие, что вы описали выше.


Если писать
Код: sql
1.
isnull(tbl1.f1, tbl2.f2)

, то приоритет у tbl1,
Если писать
Код: sql
1.
isnull(tbl2.f2, tbl1.f1)

, то приоритет у tbl2.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Условие в запросе на выборку данных из присоединенных таблицах
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]