2016-03-05 84 views
0

EasyShop的管理人員希望將物品分類爲便宜,實惠,昂貴且非常昂貴。如果商品單價在0到499之間,則爲「廉價」,如果在500和1999之間則爲「經濟實惠」,如果在2000和4999之間則爲「昂貴」,並且如果價格大於或等於5000,那麼進行分類,昂貴'。編寫查詢以顯示項目的項目類型和分類。按升序顯示按項目類型和分類排序的唯一行。需要解決查詢

這是我的查詢

SELECT DISTINCT ItemType, 
CASE 
Price BETWEEN 0 AND 499 THEN 'Cheap' 
Price BETWEEN 500 AND 1999 THEN 'Affordable' 
Price BETWEEN 2000 AND 4999 THEN 'Expensive' 
Price >=5000 THEN 'Very Expensive' 
END Classification 
FROM Item 
+0

我認爲你需要添加一個'ORDER BY'並且可能刪除'DISTINCT'。 –

+1

那麼你的問題到底是什麼? – Mureinik

+0

查詢沒有給出輸入。顯示錯誤,錯位從 – Shirley

回答

0

你們是不是有點像下面?檢查出來:

SELECT DISTINCT CASE 
WHEN Price BETWEEN 0 AND 240 THEN 'Cheap' 
WHEN Price BETWEEN 241 AND 1200 THEN 'Expensive' END AS Range 
FROM Products 
ORDER BY Price 
+0

究竟是什麼!!!!!!!!! – Shirley

+0

解決方案是否工作?讓我知道。 –

+0

不,它不工作。 – Shirley

0

您需要由ItemType的,分類添加爲了在您的查詢。您還應該在CASE聲明中包含WHEN

SELECT DISTINCT ItemType, 
CASE WHEN 
     Price BETWEEN 0 AND 499 THEN 'Cheap' 
     Price BETWEEN 500 AND 1999 THEN 'Affordable' 
     Price BETWEEN 2000 AND 4999 THEN 'Expensive' 
     Price >=5000 THEN 'Very Expensive' 
END Classification 
FROM Item 
ORDER BY ItemType, Classification