SQL Server无法识别UNIQUE子查询

时间:2014-11-21 08:34:56

标签: sql sql-server subquery

当我写下面的陈述时,我遇到了一个问题,即无法识别UNIQUE关键字,程序说"关键字附近的语法错误' UNIQUE'。"我怎么解决这个问题?

SELECT FirstName, LastName
FROM CUSTOMER
WHERE UNIQUE
(SELECT CustomerID FROM SALES
 WHERE SALES.CustomerID = CUSTOMER.CustomerID);

2 个答案:

答案 0 :(得分:1)

在SQL中没有使用WHERE

请参阅 Search Condition 的文档。

您可以计算子查询中的行数并与1:

进行比较
SELECT FirstName, LastName
FROM CUSTOMER
WHERE 1 = (SELECT count(CustomerID) 
           FROM SALES
           WHERE SALES.CustomerID = CUSTOMER.CustomerID);

答案 1 :(得分:0)

在这种情况下使用ConfigureServices是完全有效的,并在SQL-92标准中进行了定义。

8.9 unique predicate

为没有重复的行指定测试。

UNIQUE

关键是该谓词现在已被RDBMS供应商广泛采用。


在您的特定示例中,查询可以重写为:

<unique predicate> ::= UNIQUE <table subquery>

db<>fiddle demo

相关:UNIQUE predicate

相关问题