作者gargamel (Nerding)
看板Database
標題Re: [SQL ] 問一個排序的問題
時間Sun Feb 3 22:58:24 2008
我還蠻愛一串SQL解完問題.
不確定下面正不正確, 現在沒有機器可以RUN
參考看看...
(ORACLE, 原po推文有提到case的語法, 但它是9以後的版本才支援, 我很才用到:p)
SELECT value1, decode(v2,'1','111',
'2','222',
'3', null,
'4','333',
'5','000') value2
FROM (
SELECT value1, max(decode(value2,'111','1',
value2,'222','2',
value2, null,'3',
value2,'333','4',
value2,'000','5')) v2
FROM t1
GROUP BY value1)
※ 引述《RD (Rework & Delay)》之銘言:
: 一個範例的Table→
: T1
: ID(PK) Value1 Value2
: ----------------------
: 251 AAA 111
: 252 BBB 333
: 253 AAA [null]
: 254 BBB 222
: 255 AAA 000
: 256 CCC 222
: 257 CCC [null]
: 希望能產出下面的報表 Value1為UNIQUE
: Value1 Value2
: --------------
: AAA 000
: BBB 333
: CCC [null]
: Value2的規則是 000 > 333 > [null] > 222 > 111
: 我只會到 SELECT Value1, Value2 FROM T1 GROUP BY Value1
: 請問要怎麼處理Value2的規則呢??
--
東森───────╮ ╭─────聯合
三立───╮ | |
╭─蘋果
超扯M型崩潰正夯詢問度超高宅男
傻眼踼爆
自由─╯ | | ╰───中天
民視─────╯ ╰─────────TVBS Gargamel_〆
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.64.100.184
推 ClareQ:用decode不用寫這麼多層,它還滿像case可做多重判斷的, 02/03 23:42
推 ClareQ:可惜不是標準SQL語法。decode(expr,s1,r1,s2,r2,...,else) 02/03 23:50
→ gargamel:哈哈..我弄錯了..不用decode這多次... 02/03 23:57
已修改!
※ 編輯: gargamel 來自: 210.64.100.184 (02/04 00:01)