Ich habe über 50 verschiedene Tabellen, die ich zu einer großen Tabelle kombinieren möchte. Alle Tabellen haben eine unterschiedliche Anzahl von Spalten.Union 50+ Tabellen mit unterschiedlicher Anzahl von Spalten mit SQL Server
Derzeit, um die Tabellen zusammenzuführen, schreibe ich eine individuelle select-Anweisung für jede der Tabellen und Einfügen einer Null-Spalte, wenn diese Spalte nicht in der Tabelle vorhanden ist. Dann benutze ich UNION ALL, um sie miteinander zu verbinden.
Zum Beispiel:
(
select col1
, null as col2
, col3
from table1
union all
select col1
, col2
, null as col
from table2
)
Obwohl dies funktioniert, ist es sehr manuelles und zeitaufwendig. Gibt es eine bessere, effizientere Möglichkeit, diese Tabellen zu einer Einheit zusammenzufassen? Wie bei über 50 Tabellen werde ich Tausende von Codezeilen haben.
Vielen Dank!
Mögliche [XY Problem] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Was versuchst du zu erreichen? Sicherlich werden Sie einige nicht verwandte Tabellenschemas nur zum Spaß zusammenfügen. –
Oh Entschuldigung. Die Tabellen sind alle verwandt und beziehen sich auf die gleichen Daten, aber aufgrund der Art, wie die ursprünglichen Daten extrahiert wurden, sind nicht alle Spalten in allen Tabellen enthalten. Ich versuche, eine große Tabelle zu erstellen, die alle Tabellen an 1 anhängt, damit ich die Daten im Ganzen abfragen kann. Ich kann jedoch nicht nur bestimmte Spalten auswählen, weil in bestimmten Tabellen Spalten fehlen, die ich tatsächlich abfragen muss. – a123z
Ist das eine einmalige Abfrage? Sobald Sie alle Daten in einer Tabelle haben, müssen Sie erneut ausführen? –