2011-10-13 66 views
1

我正在一個不存在,它並不像它應該。應該只有2個結果應該顯示出來,但是我得到了18個。我應該找到在數據庫中沒有任何銷售的所有書名(作爲'書名')。出於某種原因,我認爲我忘記了查詢中的某些內容,但我不確定。我不明白爲什麼它不能正常工作。我的不存在就像它應該

Select title AS 'Book Title' 
From titles 
WHERE NOT EXISTS 
(Select ord_num 
    From sales 
    Where title = ord_num) 
+1

你能提供表格的字段嗎? –

回答

1

看起來好像你正在努力尋找銷售記錄中,其中標題是一樣的訂單號,在你的EXISTS條款。我建議這樣的:

Select title AS 'Book Title' 
From titles 
WHERE NOT EXISTS 
(Select ord_num 
    From sales 
    Where titles.title_id = sales.title_id) 
+0

好吧,我不得不在數據庫中找到任何銷售額的書名。 – st1984

+0

是的,但是爲了做到這一點,您需要*在銷售表上找到沒有相應記錄的書籍標題。如果在銷售表上有銷售記錄的標題ID與訂單號具有相同值的任何記錄,換句話說,您正在返回所有內容,則顯示您嘗試執行的操作是返回所有標題。 –

+0

好吧,現在有道理。 – st1984

2

嘗試:

Select title AS 'Book Title' 
    From titles 
WHERE NOT EXISTS 
(Select * 
    From sales 
    Where titles.title = sales.title); 

或者:

SELECT title AS 'Book Title' 
    FROM titles 
EXCEPT 
SELECT title AS 'Book Title' 
    FROM sales 
相關問題