为什么EXCEPT不起作用?除Word之外的语法不正确

时间:2010-11-02 19:33:14

标签: sql sql-server tsql sql-server-2008 except

SELECT SKU
FROM PartProductSupplemental
EXCEPT
SELECT SKU
FROM Inventory

为什么我会收到此错误:

  

之外的Word附近的语法不正确

我在线检查,语法在语法上是正确的:

SELECT ProductID 
FROM Production.WorkOrder
EXCEPT
SELECT ProductID 
FROM Production.Product

3 个答案:

答案 0 :(得分:9)

您的数据库兼容模式可能设置为2000(80)或更早。

在Management Studio中:

  1. 右键单击对象资源管理器
  2. 中“数据库”标题下的数据库名称
  3. 在弹出的“属性”窗口中,选择“选项” - 右侧顶部的兼容级别为第三位。

答案 1 :(得分:0)

尝试使用distinct和MINUS进行测试。

除了应该也有效之外,是同一类型的字段吗?

(它也适用于2005年,根据文档,您不需要()第二个短语)。

答案 2 :(得分:0)

当我运行以下内容时,它可以正常工作:

with PartProductSupplemental as
(
  SELECT 1 sku
  UNION
  select 2
  UNION
  SELECT 3
  UNION
  select 4
  UNION 
  SELECT 5
),
Inventory as
(
  SELECT 1 sku
  UNION
  select 2
  UNION
  SELECT 3

)

SELECT SKU
FROM PartProductSupplemental
EXCEPT
SELECT SKU
FROM Inventory

你确定这实际上是你在运行的吗?上面有sql吗?