2016-12-12 8 views
0

Я ищу, чтобы найти записи, которые не существуют в таблице Practice and Game, однако я не могу использовать второй оператор, не содержащийся в инструкции. Есть ли другой способ сделать это?Невозможно использовать несколько не в заявках

select VenueID from Venue 
where VenueID not in (select VenueID from Practice) 
and not in (select VenueId from Game) 

ответ

1

Вы должны повторить NOT IN заявления, в том числе имени столбца:

SELECT VenueID 
FROM Venue 
WHERE VenueID NOT IN (SELECT VenueID FROM Practice) AND 
     VenueID NOT IN (SELECT VenueId FROM Game) 
     ^^^ you omitted the second column name 

Один альтерен для использования NOT IN было бы выполнено два левых соединения:

SELECT VenueID 
FROM Venue t1 
LEFT JOIN Practice t2 
    ON t1.VenueID = t2.VenueID 
LEFT JOIN Game t3 
    ON t1.VenueID = t3.VenueID 
WHERE t2.VenueID IS NULL AND 
     t3.VenueID IS NULL 
0

Вы упускаете имя столбца во второй not in (каждый критерий отдельно и синтаксис < столбца> NOT IN < значение, установленное>):

select VenueID from Venue 
where VenueID not in (select VenueID from Practice) 
and VenueID not in (select VenueId from Game) 
-- ^^^^^^^ 

 Смежные вопросы

  • Нет связанных вопросов^_^