Announcement

Collapse
No announcement yet.

Tabellensortierung nach eigenen Wünschen

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

  • Tabellensortierung nach eigenen Wünschen

    Hallo,

    ich möchte eine Tabelle nach einer Spalte sortieren. Dabei soll die Sortierung aber nicht nach ASC oder DESC verfahren, sondern nach eigenen Wünschen.

    Beispiel wie es NICHT funktionieren soll:

    SELECT Spalte1 FROM Tabelle ORDER BY Spalte1 ASC

    Ergebnis:

    Spalte1
    1
    2
    3

    Beispiel, wie es WÜNSCHENSWERTERWEISE funktionieren soll:

    ?Befehl, mit dem ich angeben, dass die Zeilen der Reihenfolge nach 2,1,3 sortiert werden sollen?

    Ergebnis:

    Spalte1
    2
    1
    3

    Weiß jemand Rat?

  • #2
    Direkt in der Sortierfunktion wird es nicht gehen. Aber Du kannst Dir eine extra Spalte erzeugen in der Du selbst einen Sortierschlüssel erzeugst.

    Symbolisch gesprochen:

    [highlight=sql]
    SELECT t.*,
    CASE WHEN t.VALUE = 1 THEN 2
    WHEN t.VALUE = 2 THEN 1
    WHEN t.VALUE = 3THEN 3
    ELSE 4 as sort
    FROM MeineTabelle t
    ORDER BY sort
    [/highlight]

    Ich hoffe Du verstehst was ich meine. Je nach Datenbank sieht das etwas anders aus, aber der Grundgedanke sollte verständlich sein.

    Comment


    • #3
      Hallo fanderelf,

      vielen Dank! Dein Hinweis/Beispiel hat mein Problem gelöst

      Comment


      • #4
        Originally posted by fanderlf View Post
        Direkt in der Sortierfunktion wird es nicht gehen. Aber Du kannst Dir eine extra Spalte erzeugen in der Du selbst einen Sortierschlüssel erzeugst.

        Symbolisch gesprochen:

        [highlight=sql]
        SELECT t.*,
        CASE WHEN t.VALUE = 1 THEN 2
        WHEN t.VALUE = 2 THEN 1
        WHEN t.VALUE = 3THEN 3
        ELSE 4 as sort
        FROM MeineTabelle t
        ORDER BY sort
        [/highlight]

        Ich hoffe Du verstehst was ich meine. Je nach Datenbank sieht das etwas anders aus, aber der Grundgedanke sollte verständlich sein.
        Gibt es evtl. auch die Möglichkeit, nach der Spalte "sort" zu gruppieren? Ich kann danach zwar sortieren, aber nicht gruppieren...

        Comment


        • #5
          Hallo,
          Originally posted by Stiglitz View Post
          Gibt es evtl. auch die Möglichkeit, nach der Spalte "sort" zu gruppieren? Ich kann danach zwar sortieren, aber nicht gruppieren...
          Warum sollte man nach einer berechneten Spalte nicht gruppieren können?
          Ggfs. ist die Gruppierung nach dem Alias nicht möglich, dann mußt du halt die Berechnung nochmals in der GROUP BY-Klausel durchführen.

          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