2016-12-05 16 views
0

學生表有一個名爲courseid的列。課程表有兩列,分別叫courseid和coursename。如何根據我在Oracle中的自定義格式選擇結果進行排序?

現在我想選擇其中選擇課程名稱是數學或音樂,或物理學生和返回必須由當然責令結果物理或音樂或物理。如果我要選擇其中課程名稱爲音樂或數學或物理學生和返回必須由類音樂或數學或物理命令的結果。

我TRID寫的SQL,但似乎我不能直接使用order by

select * 
from student s 
    inner join course c 
      on t.courseid=s.courseid 
     and c.coursename in ('math','music','physical') 

回答

0
select * 
    from student s inner join course c on t.courseid=s.courseid 
    where 
    c.coursename in ('math','music','physical') 
    order by 
    c.coursename; 
+0

c.coursename僅僅是一個例子,這個名字似乎還沒有rule.It可以是 '英國,新鮮'。 – flower

1
ORDER BY CASE WHEN c.coursename='music' THEN 3 WHEN c.coursenane='math' THEN 2 WHEN c.coursename='physical' THEN 1 END DESC 
相關問題