ОШИБКА SQL Сервер ТОЛЬКО одно выражение может быть указано в списке выбора, когда подзапрос не представлен с существует - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь выполнить свой запрос, но получаю ошибку.

Это мой запрос:

if exists (select CODE_ISIN 
           from cte 
           where code_ISIN not in (select [STATUT_TITRE], [CODE_ISIN] 
                                   from TT_TITRE A 
                                   inner join TT_STATUT_TITRE B on A.TITRE_ID = B.TITRE_ID))
begin
    select 'ko'
end
begin
    select 'ok'
end

1 Ответ

1 голос
/ 04 марта 2020

Удалить [STATUT_TITRE] из подзапроса, так как он примет только одно выражение:

select c.CODE_ISIN 
from cte c 
where code_ISIN not in (select [CODE_ISIN] -- only one expression needed
                        from TT_TITRE A inner join 
                             TT_STATUT_TITRE B 
                             on A.TITRE_ID = B.TITRE_ID
                        );

Я бы предложил использовать NOT EXISTS вместо:

where not exists (select 1 
                  from TT_TITRE A inner join 
                       TT_STATUT_TITRE B 
                       on A.TITRE_ID=B.TITRE_ID
                  where CODE_ISIN = c.CODE_ISIN 
                );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...