Announcement

Collapse
No announcement yet.

UNION Operator mit Order by nutzen

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

  • UNION Operator mit Order by nutzen

    Hallo zusammen,

    ich bin ein SQL Anfänger und komme leider bei einer Sache nicht weiter.

    Ich verbinden mehrere View’s mittels UNION Operator, das klappt soweit ganz gut.
    In dem letzten View ist eine Order by Klausel, die die Ausgabe nur dieses Views sortieren soll und nicht das ganze UNION Ergebnis. Wenn ich diesen View in die UNION Anweisung einbinde, wird der letzte View unsortiert eingebunden, d. h die Order by Klausel wird ignoriert.

    Ich hoffe es ist klar geworden was mein Problem ist.Könnt ihr mir helfen?

    Und diese Tatsache :
    "Wenn Sie die ORDER BY-Klausel mit einer UNION-Anweisung verwenden, müssen die Namen der Spalten, nach denen Sie sortieren, mit den Namen oder Aliasnamen der Spalten identisch sein, die Sie in der ersten SELECT-Anweisung angegeben haben."
    ist mir durchaus bewusst, jedoch, wie gesagt, will ich nicht die ganze Anweisung sortieren.

    Danke

    friedrim

  • #2
    Hallo friedrim,

    ein einfaches UNION bedeutet immer auch ein DISTINCT auf das Ergebnis. Damit wird die Sortierung deiner View quasi aufgehoben. (Mal abgesehen davon, das es unüblich ist, in einer View eine Sortierung zu verwenden)
    Um das implizite DISTINCT zu vermeiden, solltest du UNION ALL verwenden.
    [highlight=sql]
    select * from view1
    UNION ALL
    select * from (
    select * from view2
    order by view2.feld1)
    [/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


    • #3
      Hallo Falk,

      super!!! Hat geklappt! Anfängerfehler!
      Wahr wohl echt eine einfache Frage.


      Danke

      Gruß
      friedrim

      Comment


      • #4
        Originally posted by friedrim View Post
        ...Wahr wohl echt eine einfache Frage.
        Eine Frage ist immer einfach wenn man die Antwort kennt

        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