Sortieren nach einem Feld in einer 2. Tabelle

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

  • Sortieren nach einem Feld in einer 2. Tabelle

    Hallo

    Ist es möglich nach einem Feld in einer 2. Tabelle zu sortieren?

    $sql = "SELECT bnr, firma, strasse, ort, stichwort1, stichwort2, gueltigkeit, ort FROM branchenregister WHERE online = 'J' ORDER BY ???, prioritaet, firma";

    Da wo ??? steht, müsste man auf die Tabelle orte zugreifen und das Feld ortschaft. Ist das überhaupt möglich?

    PHP Version 5.2.6 und MySQL

    Gruss
    Borsi

  • #2
    Code:
    SELECT 
      b.bnr, 
      b.firma, 
      b.strasse, 
      b.ort, 
      b.stichwort1, 
      b.stichwort2, 
      b.gueltigkeit
    FROM 
      branchenregister b,
      orte o
    WHERE b.online = 'J'
      AND b.ort = o.ortschaft # das hier ist geraten
    ORDER BY o.ortschaft, b.prioritaet, b.firma
    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Comment


    • #3
      Hallo Kropff

      ... und funktioniert perfekt. Schon wieder was gelernt.

      Vielen herzlichen Dank!!!

      Comment


      • #4
        Ein anderer Lösungsweg:
        Code:
        SELECT
            b.bnr,
            b.firma,
            b.strasse,
            b.ort,
            b.stichwort1, 
            b.stichwort2,
            b.gueltigkeit
        FROM
            branchenregister b
        JOIN orte o ON o.ortschaft=b.ort # das hier ist geraten 
        WHERE b.online = 'J' 
        ORDER BY o.ortschaft, b.prioritaet, b.firma
        Vorteil hierbei ist, dass durch den JOIN schon die passenden Datensätze (hier Ort bzw Ortschaft) vorgefiltert werden, um dann anschliessend mit der weiteren Bedingung eingegrenzt zu werden.
        Bitte daran denken, dass bei bedingten Abfragen die für den Vergleich benötigten Spalten indiziert sein sollten, um eine gute Performance zu haben.

        Comment

        Working...