Freitag, 29. August 2008

Datenbankabfrage über mehrere Tabelle ohne Joins

Nach mehreren Stunden herumprobieren habe ich endlich einen Befehl gefunden, der mein Problem löst. Eigentlich sehr einfach, aber finden muss man ihn erst einmal :)

Ich spreche vom UNION-Befehl.

Problem: Datenbankabfrage über mehrere gleich aufgebaute Tabellen, zum einen um Übersicht zu gewähren und zum anderen, weil in Zukunft enorm viele Datensätze aufgenommen werden, welche in einer Tabelle zu einem Wust von Daten führen würden.

Ich habe mehrere Befehle und Sortiermethoden ausprobiert, z.B. die einzelnen Abfrage-Arrays nach den Abfragen zu verketten, um die Arrays selber zu ordnen nur keine der Möglichkeiten war zufriedenstellend.

Der UNION-Befehl machte alles sehr einfach und mich glücklich :)

Beispiel: Alle Datensätze sollen abgefragt werden

Tabelle abc
Tabelle def

(SELECT * FROM abc) UNION (SELECT * FROM def)