2013-03-17 55 views
0

我需要創建SQL查詢:SQL查詢 '不在'

名單誰不居住在伊利諾伊州(IL)的所有客戶紐約(紐約州),或加利福尼亞(CA) 。按郵政編碼按升序排序。在結果表中,顯示客戶名稱,州和郵政編碼。

我的查詢是

SELECT CUSTOMER_NAME, STATE, POSTAL_CODE 
FROM CUSTOMER_T 
WHERE STATE NOT IN ('CA', 'FL', 'NJ') 
GROUP BY POSTAL_CODE 

但它不工作。

+1

你BY'的只是使用'組,而不是'ORDER BY'。 – Guffa 2013-03-17 16:34:02

+0

什麼不行?查詢是否返回錯誤的記錄或者他們沒有被排序?後者是因爲您使用Group by而不是Order By。如果你沒有得到正確的記錄,那麼你應該檢查你的STATE字段是否正確定義而不是varchar。 – user1914292 2013-03-17 16:46:35

+0

人們試圖猜測你在問什麼,但在你的問題中包括你得到的結果和你預期的結果是有幫助的。 – 2013-03-17 16:48:29

回答

1

試試這個:

SELECT CUSTOMER_NAME, STATE, POSTAL_CODE 
FROM CUSTOMER_T 
WHERE STATE NOT IN ('CA', 'FL', 'NJ') 
Order BY POSTAL_CODE Asc 

您不必集團通過這裏。用Order By替換Group By。

+0

它的工作原理。謝謝! – 2013-03-17 16:47:42

0

我認爲你正在做錯誤

SELECT CUSTOMER_NAME, STATE, POSTAL_CODE 
FROM CUSTOMER_T 
WHERE STATE NOT IN ('CA', 'IL', 'NY') 
         ^ ^
Order BY POSTAL_CODE Asc 
^ 
+0

它的工作原理。謝謝! – 2013-03-17 16:47:09