Ankündigung

Einklappen
Keine Ankündigung bisher.

"Gejointe" Tabelle nach zwei Spalten sortieren

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • "Gejointe" Tabelle nach zwei Spalten sortieren

    Hallo,

    da mir derzeit die Ideen ausgegangen sind, frage ich hier nach ob mein Vorhaben überhaupt mit SQL zu lösen wäre oder ob ich es dann zwangsweise über PHP lösen müsste.

    Folgende Tabellenkonstruktion:

    Ich habe eine Tabelle namens "parteien", als Beispiel habe ich mir folgendes rausgesucht.


    Die Tabelle "matches" beinhaltet noch andere Daten, welche für das Problem nicht relevant sind, die Tabelle "namen" enthält die ID, welcher unter Sportler zu finden ist, sowie als Spalte "name" den jew. Vor- & Nachnamen des Sportlers.

    Die "gejointe" Tabelle sieht dann erstmal wie folgt aus:


    Mein Ziel ist es nun, da die Namen innerhalb der einzelnen Parteien durcheinander sind, diese innerhalb der Parteien nach dem Alphabet zu ordnen.
    Dieses Vorhaben ist ja auch kein Problem.

    Was jedoch nicht funktioniert ist folgendes: Anschließend möchte ich, dass die Ausgabe nach dem Alphabet sortiert ausgegeben wird, unabhängig von der Partei.
    D.h. sollte ein Sportler mit dem Vornamen "A..." in Partei 3 sein, so müsste dieser als Erstes ausgegeben werden, dann bspw. "B..." aus Partei 2 etc.

    Im oben gegebenen Beispiel wäre die richtige Reihenfolge daher:

    So einfach funktioniert es jedoch nicht mit
    Code:
    ORDER BY partei, name
    , da nicht zwingend jemand mit A in Partei 1 sein muss etc.


    Ich hoffe das Problem ist einigermaßen verständlich & irgendjemand kann mir einen entscheidenen Tip geben - vielen Dank!


  • #2
    Mach doch nur ORDER BY name - Alternativ ORDER BY namen.name

    Kommentar


    • #3
      Dann würde das Resultat so aussehen:

      Dies hatte ich auch bereits getestet, leider nicht erwähnt (sorry!), aber sprengt natürlich das Vorhaben, da ja nun die Parteien durcheinander gewürfelt sind.
      Dementsprechend müsste ich so auch wieder mit PHP ran um die Parteien - welche Namen ja hintereinander folgen sollen - wieder geordnet werden.

      Kommentar


      • #4
        Du willst die Partein nach dem ersten Namen in der Partei sortieren? Das würde mit einen JOIN auf einen Subquery gehen der dir für jede Partei den ersten Namen liefert. (SELECT partei, MIN(name) FROM ...)

        Kommentar


        • #5
          Ich möchte die Namen innerhalb einer Partei nach dem Alphabet sortiert haben - dies ist ja noch einfach.
          Anschließend möchte ich, dass unabhängig von den Parteien nach dem Alphabet sortiert wird.

          Ein weiteres Beispiel.
          Partei 1: B, C
          Partei 2: D, G
          Partei 3: A, E

          Dementsprechend soll am Ende die Sortierung wie folgt aussehen: A/E - B/C - D/G.

          Ich hoffe dies klärt die Sache ein bisschen weiter.

          Kommentar

          Lädt...
          X