Elya: Sortieren über 2 Tabellen

Hallo Forum,

Wir haben in einer php/mySQL-Anwendung eine Listenausgabe

name | plz | filiale | timestamp ...

Diese Daten kommen aus 2 Tabellen:

namensliste - hier steht als Fremdschlüssel die ID der Filiale drin
filialadressen - hier stehen alle angaben zur filiale drin, z.B. auch plz

Es gibt also mehrere Mitarbeiter pro Filiale. Jetzt soll nach o.g. Feldern sortiert werden. "name" - kein Problem. Bei "plz" und "filiale" geht's los, da in der Tabelle filialadressen keine zuordnung "name" drinsteht, logisch.

Da die Abrage einigermaßen performanceschonend sein soll, haben wir die Idee "schreiben in temporäre Tabelle" erst mal verworfen. Ich habe das Gefühl, es gibt dazu eine einfache Lösung, weiß aber nicht recht, wonach ich suchen soll.

Hat jemand einen Tipp für mich?

Schöne Grüße aus Köln-Ehrenfeld,
Elya

--
We are still confused, but on a higher level.
  1. Hi,

    Ich habe das Gefühl, es gibt dazu eine einfache Lösung, weiß aber nicht recht, wonach ich suchen soll.

    ich hingegen weiß nicht, _warum_ man suchen soll. Du sortierst schließlich keine Tabelle, sondern eine Ergebnisliste - nämlich die selektierten Daten. Und dazu ist die ORDER BY Klausel da.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo Cheatah,

      OK, hilf mir bitte auf die Sprünge... ;-)

      Aufgabe: sortiere nach plz

      Also Tabelle "filialadressen", ORDER BY "plz", soweit klar.
      Zu der Filiale ist aber kein Name zugeordnet.
      2. Abfrage wäre dann aus "namensliste" ORDER BY "name" oder "id" oder ...?

      Aber wie krieg ich das zusammen? Damit dann in der Ausgabe steht

      plz     filiale  name
      10000   hh       anton
      10000   hh       berta
      50000   koeln    alberta
      50000   koeln    jupp
      ...

      Mag sein daß ich gerade auf der Leitung stehe, aber ich krieg's nicht hin.

      Schöne Grüße aus Köln-Ehrenfeld,

      Elya

      --
      We are still confused, but on a higher level.
      1. Hi,

        Also Tabelle "filialadressen", ORDER BY "plz", soweit klar.

        nein. Welche Tabelle im Spiel ist, ist irrelevant.

        Du hast ein SELECT-Statement, mit dem Du irgendwelche Daten von irgendwoher liest. Die Ergebnismenge dieses Statements kann auch eine "plz"-Spalte irgendeiner Tabelle beinhalten, oder eine solche Spalte durch Berechnungen erzeugen, oder eine andere Spalte als "plz" benennen, oder was auch immer. Am Ende hat diese Ergebnismenge jedenfalls eine Spalte namens "plz" - und nach der sortierst Du. That's it.

        1. Abfrage wäre dann

        Du hast keine zweite Abfrage. Wenn doch, ändere das.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hallo Cheatah,

          jetzt hab ichs, es lag in der Tat in der Art der Abfrage. Das hier hat mir gefehlt:

          WHERE tabellenname1.id_filiale = tabellenname2.id_filiale

          Dann klappt's auch mit dem Sortieren...

          Danke + schöne Grüße aus Köln-Ehrenfeld,

          Elya

          --
          We are still confused, but on a higher level.