Ihr kennt das alte Problem: Ihr habt zwei Tabellen deren Felder sich aufeinander beziehen, benötigt nun Daten aus beiden Tabellen und ärgert euch, dass ihr es mit zwei Abfragen lösen müsst. Da kann einfache Abhilfe geschafft werden:
Beispiel
Wir haben folgende zwei Tabellen:
Wir wollen nun in einer Abfrage herausfinden, welchen Auftrag der Kunde (mit Vor- und Nachname) getätigt hat. Diese Tabelle ist ein sehr einfaches Beispiel und wer genau hingeschaut hat, dem wird aufgefallen sein, das dieses Beispiel für ein wirkliches Bestellsystem unbrauchbar wäre, aber ein einfaches Beispiel erklärt das ganze auch einfacher.
Einzeln würden die beiden Abfragen so aussehen:
Wir verknüpfen nun beide Tabellen durch den WHERE Operator. Bedingung dafür ist allerdings, dass ein Feld in der Tabelle auftraege auch einem Feld in der Tabelle kunden entspricht, sonst funktioniert das nicht.
Unsere neue Abfrage sieht demnach so aus:
Diese Abfrage löst unser Problem, man muss nur aufpassen falls Felder in beiden Tabellen einen gleichen Namen haben. In diesem Fall stellt man den Tabellennamen vor den Spaltennamen:
auftraege.auftragsnummer
kunden.vorname
Es ist allerdings auch möglich, einen alias für eine Tabelle anzulegen was einem gerade bei längeren Tabellennamen das Leben erleichtert.
Unsere Abfrage mal mit unnötigen Aliasen und explizit angegebenen Spaltennamen:
Lust, selbst einen Artikel zu schreiben?
Das Photozauber Team dankt für jede Unterstützung Eurerseits.



