Ошибка синтаксиса SQL рядом с "Первичным" при выполнении
Когда я выполняю инструкцию SELECT, я получаю синтаксическую ошибку рядом с "Primary". Что мне не хватает?
SELECT Name
FROM Production.Product
WHERE ProductID IN (SELECT ProductID FROM Production.ProductProductPhoto WHERE Primary = 1);
1 ответ
Решение
Первое: вы должны написать "Primary" между квадратными скобками [Primary]
, Потому что это зарезервированное слово.
РЕДАКТИРОВАТЬ
И, если вам нужно сузить результаты поиска до продуктов, на которых есть только основная фотография, вы должны добавить вторую where
состояние:
SELECT Name
FROM Production.Product
WHERE
ProductID IN (SELECT ProductID FROM Production.ProductProductPhoto WHERE [Primary] = 1)
AND ProductID NOT IN (SELECT ProductID FROM Production.ProductProductPhoto WHERE [Primary] = 0);