2015-11-19 96 views
0

這些都是我的表和列: 客戶:客戶#,姓氏,名字,地址,城市,州 訂單:訂單號,客戶#,訂購日期,SHIPDATE,shipaddress,shipcost爲什麼我的查詢返回一個EMPTY表?

我米使用SQL開發人員。 問題: 確定哪些訂單尚未發貨以及下訂單的客戶的名稱? 這是我寫的查詢:

SELECT o.order#, o.orderdate, c.lastname, c.firstname, 
FROM orders o JOIN customers c 
ON c.customer#=o.customer# 
WHERE o.shipdate= NULL 
ORDER BY orderdate; 

我得到一個空表。我不知道爲什麼。 我刪除了條件並測試了查詢並且它工作正常,但是當我添加WHERE +條件時,我得到一個空表。 請幫助 在此先感謝

我還有一個問題: 產生誰住在佛羅里達州,並已責令有關計算機的書籍全部客戶的列表。我的查詢是

SELECT c.customer#, state, category 
FROM customer c, orders o, orderitems oi, books b 
WHERE c.customer#=0.customer# 
AND o.order#=oi.order# 
AND oi.isbn=b.isbn 
AND c.state='FL' 
AND b.category='computers'; 

我得到錯誤命令未正確結束。 這裏有什麼問題?

+0

你確定一個「未發貨的訂單」是指orders.shipdate應該爲空嗎? –

+0

我這麼認爲。這是我能想到的唯一含義。 –

回答

1

我知道SQL Server時,你檢查爲空它必須是value IS NULL而不是value = NULL。我只是搜索Oracle DB的語法,它似乎是相同的。因此請嘗試o.shipdate IS NULL

對於第二個問題,這是一個錯字嗎?看起來你有一個零而不是一個O.

WHERE c.customer#=0.customer# 
       ^
WHERE c.customer#=o.customer# 
+0

感謝您的回答。我把零改爲'o'。我沒有愛人有錯誤,但我得到了一張沒有數據的桌子。 –

+0

你是對的。我改變它爲「是NULL」,它的工作。非常感謝。 –

相關問題