Ошибка синтаксиса 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);
Другие вопросы по тегам