SQL 服务器 - 执行时 "Primary" 附近出现语法错误

SQL Server - Syntax error near "Primary" upon execution

当执行我的 SELECT 语句时,我在 "Primary" 附近收到语法错误。我错过了什么?

SELECT Name
FROM Production.Product
WHERE ProductID IN (SELECT ProductID FROM Production.ProductProductPhoto WHERE Primary = 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);