簡體   English   中英

SQL合並兩個表-Order BY

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM