NOT IN с несколькими операторами выбора - PullRequest
0 голосов
/ 15 мая 2018

Мне нужно сделать следующее, но у T-SQL есть проблема с тем, как у меня есть несколько операторов выбора в NOT IN

select * from table1 where ParamID not in 
(select paramid from tbl2 
 or 
 select paramid from tbl3 
 or 
 select paramid from tbl3) 

Я получаю ошибку: неверный синтаксис рядом с выбором

Есть ли другой способ сделать то, что я пытаюсь сделать.

Ответы [ 3 ]

0 голосов
/ 15 мая 2018

Попробуйте это ..

select * from table1 where ParamID not in 
(select paramid from tbl2 
 union all 
 select paramid from tbl3 
 union all 
 select paramid from tbl3) 
0 голосов
/ 15 мая 2018

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

select t.* 
from table1 t
where not exists (select 1 from tbl2 where paramid = t.paramid) or
      not exists (select 1 from tbl3 where paramid = t.paramid);
0 голосов
/ 15 мая 2018

Используйте UNION, например:

select * from table1 where ParamID not in 
(select paramid from tbl2 
 UNION 
 select paramid from tbl3 
 UNION
 select paramid from tbl3) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...