Announcement

Collapse
No announcement yet.

verschachtelte ORDER BY

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

  • verschachtelte ORDER BY

    Guten Tag,

    ich möchte eine mehrfach geschachtelte ORDER BY Funktion erstellen.
    Hört sich schlimmer an, als es ist:

    folgender Stand liegt derzeit vor:
    Code:
    SELECT 
    *
    FROM
    PlannerTemp
    ORDER BY
    MatStamm_Reinigung DESC, (select Shuttlezeit_ID from Shuttlezeit order by Shuttlezeit_Abfahrt ASC), PlannerTemp_AnzahlAP ASC, MatStamm_MatNr ASC
    In der Tabelle PlannerTemp gibt es nicht das Feld Schuttlezeit_Abfahrt, sondern nur eine Verknüpfung zum Primärschlüssel Schuttlezeit_ID, deshalb kann ich nach Abfahrt nicht simpel sortieren, sondern mir diese erst aus der Tabelle Shuttlezeit mit der passenden ID heraussuchen.

    Wie kann man eine solche ORDER BY Klausel realisieren?

  • #2
    Wie kann man eine solche ORDER BY Klausel realisieren?
    Indem Du die beiden Tabellen joinst und dann deinen ORDER BY auf das gewünschte Feld loslässt. So wie Du das geschrieben hast ist das weit entfernt von einem fachlich und technisch validem SQL

    Dim
    Zitat Tom Kyte:
    I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

    Comment


    • #3
      Das habe ich anhand den Fehlermeldungen gemerkt

      Dann würde ich es so verstehen?

      Code:
      SELECT 
      *
      FROM
      PlannerTemp left join Shuttlezeit on Shuttlezeit.Shuttlezeit_ID = PlannerTemp.Shuttlezeit_ID
      ORDER BY
      MatStamm_Reinigung DESC, Shuttlezeit.Shuttlezeit_Abfahrt ASC, PlannerTemp_AnzahlAP ASC, MatStamm_MatNr ASC

      Comment


      • #4
        Richtig. Brauchst Du wirklich einen LEFT JOIN oder genügen dir die Sätze, für die ein Match existiert?

        Dim
        Zitat Tom Kyte:
        I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

        Comment


        • #5
          für die ID, die wirklich vorhanden sind

          also ein INNER JOIN?

          Comment


          • #6
            Genau. Oder einfach nur JOIN das ist das gleiche wie INNER JOIN.

            Dim
            Zitat Tom Kyte:
            I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

            Comment

            Working...
            X