• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

mehrere Tabellen in nur eine zusammenführen

andynail

Mitglied
Hallo zusammen

bisher habe ich jeden Datenbestand in einzelne Tabellen getrennt um diese ganz klar nach anklicken im Menü aufzurufen. Es soll aber auch mal eine Suchen Funktion geben, und da denke ich doch, dass es besser wäre nur noch eine Tabelle zu verwende und ein Feld mit einem zum Menü passenden Index zu vergebe was dann so den Datenbestand trennt und mit dem Menü abgefragt wird.

Da aber jetzt doch viele Tabellen vorhanden sind, würde ich gerne alle in nur eine zusammenführen. Und in phpmyadmin wollt ich dafür nix finden. Also wie verwirkle ich das bitte?

Danke Gruß Andreas
 
Du willst die Daten aus Mehreren Tabellen einer Datenbank hollen? Dazu müssen Referenzen vorhanden sein oder erfeugt werden, wie zb ein id Feld, der den PRIMARY KEY besitzt und forlaufende Nummern hat.

Dann musst du mit JOINS arbeiten die mehrere Tabellen zusammen fässt.
Beispiel:

SELECT * FROM tabelle WHERE blabla
INNER JOIN tabelle2 ON tabelle.id = tabelle2.id

So kannst du dann auch über 20 oder 80 Tabellen springen und Daten entnehmen. Aber Vorsicht, je mehr Tabellen man joint, desto mehr auslastung für deinen SQL Server.
 
Mit
Code:
INSERT INTO ziel (spalte1, spalte2) SELECT spalte1, spalte2 FROM quelle
kann mehr mehrere Datensätze aus einer Tabelle in eine andere Kopieren. Setzt allerdings auch voraus, dass die Tabellenstrukturen inhaltlich kompatibel sind.

So eine Suche über mehrere Tabellen kannst Du aber auch leicht bewerkstelligen. Schau dir mal UNION an. Damit kann man die Ergebnismengen mehrerer Statements zu einer Ergebnismenge vereinen. Dadurch kannst Du viele Tabellen mit unterschiedlichen Strukturen durchsuchen und die Ergebnisse ausgeben.
 
Diese art von JOIN ist veraltet und wird auch vermieden, da es sehr Performace lastig ist.

Sagen wir mal man hat bei deinem Beispiel 5 Einträge in der tabele und du mast einen join auf eine Tabelle die 10000 einträge hat, dann würde die Datenbank 50000 Einträge ausgeben.
Wenn du 3 Tabellen hast und die letzte tabelle 100 Einträge hat sind das 5000000 Einträge und so weiter....

Also würde ich die neuen JOIN nutzen (INNER JOIN,OUTER JOIN), es hat schon einen Grund warum die JOIN erneuert worden sind.
 
Zurück
Oben