SQL показать записи, которые не существуют в моей табличной переменной - PullRequest
0 голосов
/ 14 сентября 2010

У меня есть табличная переменная, которая содержит orderID, UnitID и OrderServiceId (она уже заполнена запросом с оператором вставки).

У меня тогда есть запрос, который возвращает 15 столбцов, которые также включают OrderId, UnitId, OrderServiceId

Мне нужно только возвращать строки из этого запроса, если одинаковые комбинации OrderId, UnitId и OrderServiceId отсутствуют в табличной переменной.

Ответы [ 3 ]

3 голосов
/ 14 сентября 2010

Вы можете использовать NOT EXISTS.например,

FROM YourQuery q
WHERE NOT EXISTS 
(
SELECT * FROM @TableVar t
WHERE t.OrderId = q.OrderId
  and t.UnitId = q.UnitId 
  and t.OrderServiceId=q.OrderServiceId
)
2 голосов
/ 14 сентября 2010
select q.*
from (
    MyQuery
) q
left outer join MyTableVariable t on q.ORDERID  = t.ORDERID
    and q.UNITID= t.UNITID
    and q.ORDERSERVICESID = t.ORDERSERVICESID 
where t.ORDERID is null
0 голосов
/ 14 сентября 2010

Вы можете использовать ИСКЛЮЧИТЬ |Операторы INTERSECT для этого (ссылка) .

Пример:

(select 3,4,1
union all
select 2,4,1)

intersect

(select 1,2,9
union all
select 3,4,1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...