SQL Server - синтаксическая ошибка рядом с «Primary» при выполнении - PullRequest
0 голосов
/ 05 октября 2018

Когда я выполняю инструкцию SELECT, я получаю синтаксическую ошибку рядом с «Primary».Чего мне не хватает?

SELECT Name
FROM Production.Product
WHERE ProductID IN (SELECT ProductID FROM Production.ProductProductPhoto WHERE Primary = 1);

1 Ответ

0 голосов
/ 05 октября 2018

Первое: вы должны написать «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);
...