2010-04-08 31 views

Trả lời

5
SELECT * 
FROM details d 
WHERE NOT EXISTS ( 
    SELECT * 
    FROM items i 
    WHERE i.DetailID == d.ID 
    AND i.Item = 'A') 
0

Tại sao không chỉ sử dụng INNER JOIN như:

SELECT details.* 
FROM details 
INNER JOIN items ON details.ID=items.DetailID AND items.Item<> 'A' 
+2

Điều đó sẽ trả lại hàng thứ hai trong bảng mục. OP muốn loại trừ chi tiếtId = 1 hoàn toàn. –

+0

Rõ ràng là OP muốn nó :) Có lẽ nó giống như bạn nói. – systempuntoout

2

xây dựng trên giải pháp systempuntoout của:

SELECT details.* 
FROM details 
LEFT OUTER JOIN items ON details.ID=items.DetailID AND items.Item = 'A' 
WHERE items.DetailID IS NULL 
Các vấn đề liên quan