starmann
Goto Top

SQL von rechts nach links Sortieren

Hallo,
kann mir bei der Aufgabe Jemand helfen.

2017-07-02_204246

habe bis jetzt
SELECT 
    we.NAME,
    re.WKN,
    re.RENTETYP,
    re.ZINSKUPON,
    re.RATING
from RENTE re
    join WERTPAPIER we
    on re.WKN = we.WKN
order by  re.RATING asc
;

Wie bekomme ich es nun hin das "order by re.RATING asc" von rechts nach links list?

ist eine Orical DB

Content-ID: 342264

Url: https://administrator.de/contentid/342264

Ausgedruckt am: 23.11.2024 um 10:11 Uhr

juhu01
juhu01 02.07.2017 um 22:34:12 Uhr
Goto Top
variante 1 order by substring(re.RATING,3,1), substring(re.RATING,2,1),substring(re.RATING,1,1)
variante 2 order by FIND_IN_SET(re.RATING, "AAA","BBB","XBB","CCC","D" );
Achtung! DB-Version abhängig.

variante 3 SELECT DECODE ( myrating, 'AAA', 1, 'XBB', 2, 'CCC', 3) AS sort_order ) ORDER BY sort_order;
nicht vergessen den join auf deine Tabellen face-wink re.Rating = myraiting

Sorry die 3 variante kann ich leider z.Z. nicht ausprobieren.
lg
em-pie
em-pie 02.07.2017 um 22:34:35 Uhr
Goto Top
Moin,

mit etwas Grübeln sollte dir zumindest eine Variante einfallen, die deinen String mittels SUBSTR() zerpflückt und via CONCAT() wieder in umgekehrter Reihenfolge zusammenbaut....

Rest solltest du in deiner Hausaufgabe selbst hinbekommen...

Andere Möglichkeiten fallen mir jetzt nicht ein, was aber definitiv nichts heißen mag. von daher warte hier einfach mal ab.

Gruß
em-pie
Biber
Biber 02.07.2017 aktualisiert um 23:11:56 Uhr
Goto Top
Moin StarMann,

dein SELECT kann so bleiben.
Das ORDER BY mit DECODE wie schon oben angedeutet.
... ORDER BY Decode( re.rating
                              , 'AAA'. 1  
                              , 'BBB', 2  
                              ,' XBB', 3  
                              , 'CCC', 4  
                             , 42)


Grüße
Biber