PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mehrere Tabellen gleicher Struktur zusammenfügen



MrQ
17-08-2006, 09:29
Hallo,

ich habe folgendes Problem.
Für ein Überwachungssystem werden die Messwerte in einer Datenbank gespeichert. Jedes Überwachungsgerät hat dabei eine eigene Tabelle.
Alle Tabellen haben folgende Struktur:
ID, Zeit, ModulID, KanalID, Messwert

Die ModulID ist die ID des Gerätes, die KanalID ist ID des Kanals an dem Gerät, wird aber fortlaufend durchnummeriert.
Beispiel:
1. Gerät: ModulID ist 1, KanalID geht von 1-10
2. Gerät: ModulID ist 2, KanalID geht von 11-20

Mit zunehmender Tabellenanzahl (z. Zt. 100) tritt das Problem auf, dass es ziemlich lange dauert bis er alle Tabellen durchgeswitched hat, wenn die Werte von allen Geräten addiert werden sollen.

Ich möchte daher diese 100 Tabellen in einer zusammenfügen, um in Zukunft alle Werte in einer Tabelle abzuspeichern. Das Zusammenfügen soll natürlich möglichst automatisch geschehen.
Hat jemand eine Idee, wie ich das realisieren kann.

Gruß Jens

mwanaheri
17-08-2006, 12:17
Wenn die einzelnen Tabellen alle die gleiche Struktur haben, könntest du mit etwas wie

create table messwerte
as
select * from tab1
union select * from tab2
union select * from tab3
...
experimentieren. Bei der Tabelle messwerte musst du dann natürlich hinterher den Primärschlüssel korrekt setzen. Das sollten hier die Spalten id und Modul sein.
Diese Sachen solltest du natürlich an einer Datenbankkopie ausprobieren...

MrQ
17-08-2006, 12:57
Danke, das werde ich mal ausprobieren.

Jasper
18-08-2006, 23:44
create table messwerte
as
select * from tab1
union select * from tab2
union select * from tab3
...


bitte 'union all'. lt. beschreibung des OP sind die daten der tabellen distnct.

-j

mwanaheri
19-08-2006, 07:23
oh, ja, gute Sache das. Hatte bei einem Kurztest hier das übersehen.