Announcement

Collapse
No announcement yet.

Sortieren nach Mengenangabe

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Sortieren nach Mengenangabe

    Hallo!

    ich habe folgendes Problem

    Ich habe folgende Select-Anweisung
    Code:
    Select id, Staus from tabelle where id in ('a1','a6','a2'....);
    Leider wird mir das Ergebnis nicht in der Reihenfolge der Mengenangabe erstellt. Wie sortiere ich das Ergebnis anhand der Reihenfolge, die ich es in der in-Anweisung angegebene habe.

    Danke und Gruß

  • #2
    Originally posted by nieselfriem View Post
    Hallo!

    ich habe folgendes Problem

    Ich habe folgende Select-Anweisung
    Code:
    Select id, Staus from tabelle where id in ('a1','a6','a2'....);
    Leider wird mir das Ergebnis nicht in der Reihenfolge der Mengenangabe erstellt. Wie sortiere ich das Ergebnis anhand der Reihenfolge, die ich es in der in-Anweisung angegebene habe.

    Danke und Gruß
    Mit PostgreSQL, sollte in ORA exakt auch so gehen:

    Code:
    test=*# select * from nieselfriem ;
     id
    ----
     a1
     a2
     a3
     a4
     a5
     a6
     a7
     a8
    (8 rows)
    
    test=*# select id from nieselfriem where id in ('a1','a6','a2') order by (case when id='a1' then 1 when id='a6' then 2 when id='a2' then 3 end);
     id
    ----
     a1
     a6
     a2
    (3 rows)
    Du mußt halt sagen, wie er sortieren soll.

    Andreas

    Comment


    • #3
      Hallo,
      eine bestimmte Sortierreihenfolge wird immer nur durch die ORDER BY-Klausel vorgegeben, niemals durch irgendwelche Filterkriterien. Du musst also mit einer passenden Funktion (z.B. DECODE) in der ORDER BY-Klausel eine Sortierreihenfolge vorgeben.
      z.B.
      [highlight=sql]
      ...
      order by decode(id, 'a1', 1, 'a6', 2, 'a2', 3, ... )
      [/highlight]

      Gruß Falk
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment

      Working...
      X