thomas: ORDER BY in separater Tabelle

Hallo

Habe eine Tabelle mit Adressdaten wobei ich bei der Ortschaft eine ID habe die auf eine andere Tabelle "Ortschaft" referenziert. Dort wiederum sind die PLZ und Ortschaftsnamen gespeichert.

Tabelle Adressen
ID
adrFirma
adrOrtID

Tabelle Ortschaft
ID
PLZ
Name

SQL welches Funktioniert -> SELECT A1.adrOrtID, A1.adrFirma, B1.PLZ, B1.Name FROM xperto_adressverwaltung A1, xperto_dd_ortschaft B1 WHERE A1.adrOrtID = B1.ID ORDER BY B1.PLZ ASC

Frage:
Gibt es eine Möglichkeit ohne die A1... , B1.. etc. z.B. so:
SELECT * FROM xperto_adressverwaltung ORDER BY (????)

Habe bereits viele komplizierte SQL Abfragen im Code und wenn ich alles nach der 1. Variante umprogrammieren muss, ist Ostern dahin;-(

Danke für eure Hilfe.

Gruss
Thomas

  1. Hi,

    Habe eine Tabelle mit Adressdaten wobei ich bei der Ortschaft eine ID habe die auf eine andere Tabelle "Ortschaft" referenziert. Dort wiederum sind die PLZ und Ortschaftsnamen gespeichert.
    Tabelle Adressen
    ID
    adrFirma
    adrOrtID

    Tabelle Ortschaft
    ID
    PLZ
    Name

    Du zeigst die Struktur von 2 Tabellen.

    SQL welches Funktioniert -> SELECT A1.adrOrtID, A1.adrFirma, B1.PLZ, B1.Name FROM xperto_adressverwaltung A1, xperto_dd_ortschaft B1 WHERE A1.adrOrtID = B1.ID ORDER BY B1.PLZ ASC

    Dann zeigst Du ein SQL-Statement, das aus 2 vollkommen anderen Tabellen selektiert.

    Gibt es eine Möglichkeit ohne die A1... , B1.. etc. z.B. so:
    SELECT * FROM xperto_adressverwaltung ORDER BY (????)

    Und jetzt noch eine 5. Tabelle.
    Von dreien kennen wir die Struktur nicht, und die, von denen wir die Struktur kennen, haben keinen Zusammenhang zum Problem ...

    M.W. kann man aber nicht nach Spalten von Tabellen suchen, die weder über FROM noch über JOINs in das SELECT eingebunden sind noch sich aus den eingebundenen Spalten berechnen lassen.
    Wie auch?

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  2. yo,

    SQL welches Funktioniert -> SELECT A1.adrOrtID, A1.adrFirma, B1.PLZ, B1.Name FROM xperto_adressverwaltung A1, xperto_dd_ortschaft B1 WHERE A1.adrOrtID = B1.ID ORDER BY B1.PLZ ASC

    du benutzt die implizite schreibweise von joins, besser ist es, die explizite zu benutzen. kommt das gleiche ergebnis raus, aber läßt sich wesentlich besser lesen, ergo ein mehrgewinn ohne nachteile.

    SELECT A1.adrOrtID, A1.adrFirma, B1.PLZ, B1.Name
    FROM xperto_adressverwaltung A1
    INNER JOIN xperto_dd_ortschaft B1 ON B1.ID= A1.adrOrtID
    ORDER BY B1.PLZ ASC
    ;

    Gibt es eine Möglichkeit ohne die A1... , B1.. etc. z.B. so:
    SELECT * FROM xperto_adressverwaltung ORDER BY (????)

    grundsätzlich gibt es bei sql fast immer verschiedene wege, die nach rom führen. die frage ist, wo liegt das problem bei deiner abfrage, wenn sie das macht, was du willst, bzw. was gefällt dir daran nicht ?

    Ilja