2010-11-02 18 views
5
SELECT SKU 
FROM PartProductSupplemental 
EXCEPT 
SELECT SKU 
FROM Inventory 

Tại sao tôi nhận được lỗi này:Tại sao EXCEPT không hoạt động? Sai cú pháp gần Lời Trừ

Incorrect Syntax near the Word Except

tôi kiểm tra trên dây chuyền và cú pháp là đúng cú pháp:

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

Thử đặt nó trên một dòng - nó có thể chỉ là một khoảng trắng bị thiếu. – Goblin

+0

Tôi biết điều này được gắn cờ chính xác, nhưng trong tương lai sử dụng SQL 08 làm tiêu đề có thể khiến mọi người nghĩ rằng bạn đang nói về tiêu chuẩn ANSI khi chỉ đọc tiêu đề so với sản phẩm của Microsoft. Tiêu đề hợp lý hơn sẽ thay đổi SQL 08 sẽ là Microsoft SQL Server 2008. Picky tôi biết :). – Kuberchaun

Trả lời

8

Chế độ tương thích cơ sở dữ liệu của bạn có thể được đặt thành 2000 (80) hoặc cũ hơn.

Trong Management Studio:

  1. Nhấp chuột phải vào tên cơ sở dữ liệu theo "Cơ sở dữ liệu" tiêu đề trong Object Explorer
  2. Trong cửa sổ Properties hiện ra, chọn "Options" - Khả năng tương thích Cấp là thứ ba từ trên cùng, bên phải.
+2

Nên làm việc vào năm 2005. http://msdn.microsoft.com/en-us/library/ms188055%28v=SQL.90%29.aspx –

+0

mức độ tương thích là SQL Server 2008 (80) – bizness

+0

@bizness: 80 là * 2000 *; 100 có nghĩa là ** 2008 ** –

0

hãy thử sử dụng riêng biệt và TRỪ chỉ để kiểm tra .

Ngoại trừ trường hợp đã có hiệu quả, các trường có cùng loại không?

(nó cũng hoạt động vào năm 2005, theo tài liệu và bạn không cần() trên cụm từ thứ 2).

+1

TRỪ là cú pháp Oracle –

+0

Yope varchar 16's – bizness

0

Khi tôi chạy sau nó hoạt động tốt:

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 

Bạn có chắc đây thực sự là những gì bạn đang chạy? Có bất kỳ sql trên đó?

+0

Không, tôi thề là chỉ nói cú pháp không chính xác, ngoại trừ, nhưng tại sao, và sau đó tôi nhìn vào interwebs và nó nói đây là cách chúng ta làm điều đó – bizness

+0

Lol, tôi tin rằng nó ném lỗi. Có bất kỳ SQL nào trên phần sử dụng 'EXCEPT' hay không. Cú pháp của bạn là hợp lệ, vì vậy một cái gì đó khác là lên. –

+0

SELECT COUNT (*) TỪ (SELECT SKU TỪ PartProductSupplemental TRỪ CHỌN SKU TỪ Inventory ) – bizness

Các vấn đề liên quan