2017-01-27 97 views
-6

我有數據如下順序:SQL在一個特定的順序

Bushing ID   comp_Code  Spot ID 
---------------------------------------------- 
1     R    1      
2     Y    1 
3     B    1 
4     R    1 
5     Y    1 
6     B    1 
1     R    2 
2     Y    2 
3     B    2 
4     R    2 
5     Y    2 
6     B    2 
1     R    3 
2     Y    3 
3     B    3 
4     R    3 
5     Y    3 
6     B    3 

我想這裏無法創造預期結果的數據作爲附加的圖像。 enter image description here

+6

請發表您的需要的結果,解釋behing它的邏輯,什麼你試過到目前爲止 – Aleksej

+0

我使用的SQL爲:通過案例SELECT * FROM表順序當comp_mod_code ='R'時,則1 當comp_mod_code ='B'時,則2 else 3 end; –

回答

1

在您的ORDER BY中使用CASE聲明。

SELECT "Bushing ID", comp_Code, "Spot ID" 
FROM yourtable 
ORDER BY CASE WHEN comp_Code = 'R' THEN 1 
       WHEN comp_Code = 'B' THEN 2 
       WHEN comp_Code = 'Y' THEN 3 
       ELSE 4 
     END 

對於新的問題:

SELECT "Bushing ID", comp_Code, "Spot ID" 
FROM yourtable 
ORDER BY "Spot ID", "Bushing ID", CASE WHEN comp_Code = 'R' THEN 1 
       WHEN comp_Code = 'B' THEN 2 
       WHEN comp_Code = 'Y' THEN 3 
       ELSE 4 
     END 
+0

這工作? –

+0

@sandeeppandit是的 – Matt

+0

謝謝馬特!你能看到我發佈和建議的正確問題和答案嗎?問題是在框中,並在圖像中需要輸出 –