Hallo!
Ich bin leider kein SQL Profi deshalb stelle ich hier folgende Frage ein:
Ich habe mehrere Tabellen deren Felder etwa so aussehen:
tabelle1: id,
tabelle2: id,
tabelle3: id,
…
haupttabelle: id, , , …
Nun suche ich eine Abfrage, die mir die zu einer id aus der Haupttabelle sämtliche zugehörige Werte aus den „verlinkten“ Tabellen
zurückgibt:
id, ,…
Vielen Dank im Voraus!
Volker
Hallo Volker,
den Begriff den Du suchst ist Join bzw. Fremdschlüssel (MySQL-Handbuch 3.6.6 http://dev.mysql.com/doc/refman/5.1/de/example-forei…):
Tabelle tab1
ID
attribut1
Tabelle tab2
ID
attribut2
Tabelle main
ID
ID1
ID2
attributmain
select m.ID, a.attribut1, b.attribut2, mattributmain
from tab1 a,
tab2 b,
main m
where m.ID1=a.ID
and m.ID2=b.ID
;
MfG Georg V.
Hallo!
Vielen Dank für deine Antwort!
Aber was mach ich, wenn ich 4 Tabellen mit jeweils etwa 100.000 Einträgen hab? Dann würde die Abfrage das doch ewig dauern, oder?
MFG, Volker
Moin, Volker,
Aber was mach ich, wenn ich 4 Tabellen mit jeweils etwa
100.000 Einträgen hab? Dann würde die Abfrage das doch ewig
dauern, oder?
wenn es das Ergebnis wert ist, dann darf es auch was kosten.
Die Frage ist halt, ob Du eine Auswertung mit 100.000 Zeilen online anschauen möchtest bzw über das Ergebnis noch Summen- oder Gruppenfunktionen legst. Jede Zeile für sich kostet fast nichts, wenn die Tabellen sauber indiziert sind.
Gruß Ralf