Ankündigung

Einklappen
Keine Ankündigung bisher.

doppel join

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

  • doppel join

    Tabelle 1 ortsnamen
    tabelle 2 verbindung von a nach b, mit id

    wie kann ich 1. nach city 1 sortieren und 2. nach city2, also wie kann ich beim join, zwei dinge haben (mit nur einem gehts)

    PHP-Code:
    $sql "SELECT t1.id, t1.city, t1.city2 etc.
    FROM t1
    INNER JOIN city ON t1.id = t2.id_loc, t1.id = t2.id_loc2
    WHERE xy
    ORDER by t1.city, t1.city2"



  • #2
    Nummerierte Spalten deuten auf ein Fehldesign hin. Ich würde erst mal das Tabellendesign in Ordnung bringen.

    Kommentar


    • #3
      MOD: Verschoben von PHP-Einsteiger
      PHP.de Wissenssammlung | Debugging: Finde DEINE Fehler selbst! | mysql_* ist veraltet! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__ | Kein Support per PN

      Kommentar


      • #4
        Zitat von polo Beitrag anzeigen
        Tabelle 1 ortsnamen
        tabelle 2 verbindung von a nach b, mit id

        wie kann ich 1. nach city 1 sortieren und 2. nach city2, also wie kann ich beim join, zwei dinge haben (mit nur einem gehts)

        PHP-Code:
        $sql "SELECT t1.id, t1.city, t1.city2 etc.
        FROM t1
        INNER JOIN city ON t1.id = t2.id_loc, t1.id = t2.id_loc2
        WHERE xy
        ORDER by t1.city, t1.city2"

        Du wirst 2 mal joinen wollen und dabei Aliase nutzen wollen, glaube mir
        PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

        Kommentar


        • #5
          alias klar t1.id = t2.id_loc AS order1 etc.
          aber wie muss die beiden joins miteinander verknüpfen?

          @hellbringer spalten könnten auch 'start' und 'ziel' heissen, aber sie heissen halt 'city' und 'city2'...

          Kommentar


          • #6
            Zitat von polo Beitrag anzeigen
            alias klar t1.id = t2.id_loc AS order1 etc.
            aber wie muss die beiden joins miteinander verknüpfen?
            richtig.

            @hellbringer spalten könnten auch 'start' und 'ziel' heissen, aber sie heissen halt 'city' und 'city2'...
            Das ist heilbar.

            PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

            Kommentar


            • #7
              Zitat von polo Beitrag anzeigen
              alias klar t1.id = t2.id_loc AS order1 etc.
              aber wie muss die beiden joins miteinander verknüpfen?
              Scheinbar nicht so klar. Du musst den Alias der Tabelle geben und nicht der Join-Bedingung.

              Code:
              blub INNER JOIN
              city_location AS city_location_start ON  (blub.start_city_id = city_location_start.city_id) INNER JOIN
              city_location AS city_location_end ON (blub.end_city_id = city_location_end.city_id)

              Kommentar

              Lädt...
              X