2011-06-20 113 views
0

我有一個plans表:幫助SELECT DISTINCT

tariff  | monthly_cost 
-------------------------- 
    Lion  , 15.00 
    Lion  , 20.00 
    Cat  , 15.00 
    Cat  , 20.00 
    Cat Extra , 20.00 
    Cat Extra , 30.00 

運行該SQL查詢:

SELECT DISTINCT monthly_cost FROM plans; 

,這將是:

monthly_cost 
------------ 
15.00 
20.00 
30.00 

我想會出現的結果像這樣:

tariff  | monthly_cost 
-------------------------- 
      , 15.00 
      , 20.00 
    Cat Extra , 20.00 
    Cat Extra , 30.00 

這怎麼能做到?

+6

這不是很清楚,這種查詢的物理意義是什麼? – heximal

+0

你能解釋一下你的想法嗎?爲什麼應該對某些記錄進行不同處理,以及如何確定哪些記錄應該是? – Guffa

+0

你能更準確地知道你想要對數據做什麼,爲什麼你想要這個特定的輸出? –

回答

1
select distinct null, monthly_cost 
from plans 
where tariff not like 'Cat Extra' 
union 
select tariff, monthly_cost 
from plans 
where tariff like 'Cat Extra' 

骯髒的,但有效率。

+0

只要'選擇不同的null,monthly_cost'?咦? – MatBailie

+0

哦,你輸入答案的第一行,提交它,然後編輯它?沒有+1的偷偷摸摸... – MatBailie

+0

是的,它逃脫了我。 –