ORDER BY in separater Tabelle
thomas
- datenbank
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
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
adrOrtIDTabelle 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
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