[英]SQL Merge two tables - Order BY
我有一個像下面的數據表。
Select * from TBL_01
Week Group
Overall Nicol
Overall Julie
Overall Kelly
Select * from TBL_02
Week Group
Week1 Nicol
Week1 Julie
Week1 Kelly
Week2 Nicol
Week2 Julie
Week2 Kelly
Week3 Nicol
Week3 Julie
Week3 Kelly
我需要獲得如下的結果表
Week Group
Overall Nicol
Overall Julie
Overall Kelly
Week3 Nicol
Week3 Julie
Week3 Kelly
Week2 Nicol
Week2 Julie
Week2 Kelly
Week1 Nicol
Week1 Julie
Week1 Kelly
在這里,這個棘手的公園需要我按周結束 ,如果我對所有這些表進行聯合,並對生成的表按desc進行排序 。 它將按照整體順序進行排序,分別為week1,week2和week3 。
但是我需要按總體,第3周,第2周和第1周進行訂購
感謝您的回應。
謝謝
這是使用case表達式控制順序的選項。
order by case [Week]
when 'Overall' then 1
when 'Week3' then 2
when 'Week2' then 3
when 'Week1' then 4
end
您可以使用union all
,然后order by
:
select week, grp
from ((select week, grp from tbl_01) union all
(select week, grp from tbl_02)
) t
order by charindex(week, 'Overall,Week3,Week2,Week1')
我發現為此目的, charindex()
比大量的case
語句更簡單。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.