Я пытаюсь запустить следующий код SQL с ключевым словом EXISTS, не могли бы вы помочь мне, где я могу пойти не так - PullRequest
0 голосов
/ 17 марта 2020
select p.ProductID,
       p.ProductName,
       p.CategoryID
from   Products as p
where  p.CategoryID EXISTS (
         select *
         from   Categories as c
         where  c.CategoryID = p.CategoryID
       ) ;

ОШИБКА: сообщение 156, уровень 15, состояние 1, строка 2 Неверный синтаксис рядом с ключевым словом «СУЩЕСТВУЕТ».

1 Ответ

0 голосов
/ 17 марта 2020

До exists:

select p.ProductID, p.ProductName, p.CategoryID
from Products p
where exist (select 1
              from Categories c
              where c.CategoryID = p.CategoryID
             ) ;

нет имени столбца. Я предпочитаю select 1 для подзапроса, потому что его легко набирать. Нет ничего плохого в том, что с select *.

...