2017-06-21 2 views
0

Ich habe eine Reihe von Datenprotokollen von einer Maschine, die ich in einer einzigen Tabelle kombinieren möchte. Ältere Datenprotokolle haben jedoch andere Spalten als neuere (bestimmte Variablen wurden später hinzugefügt/nachverfolgt).Erstellen SQL-Tabelle mit Inhalt von zwei Tabellen mit unterschiedlichen Spalten

Ich habe ein Beispiel in Excel verspottet, das ich in meiner Microsoft SQL-Datenbank nachzuahmen versuche. Ich kann die zu verwendende Abfrage nicht ermitteln.

Vielen Dank für jede Hilfe!

EDITS: 1. Ich glaube nicht, dass dies ein Duplikat ist. 2. Wie viele Datenprotokolle? ~ 100 Datenprotokolltabellen. 3. Ich verwende MS SQL 4. Ich würde es vorziehen, nicht alle Spaltennamen eingeben zu müssen, wenn es möglich ist, gibt es viele.

Excel Diagram Example

+0

Wie viele verschiedene Datenprotokolle sprechen wir? 1, 5, 10, 100? – SQLChao

+0

MySQL und MS SQL Server sind zwei verschiedene Produkte. Welchen benutzen Sie? – Shadow

+0

Überprüfen Sie auch die "Union" -Anweisung. – Shadow

Antwort

0

Sie könnten UNION

Die Abfrage würde wie folgt aussehen:

SELECT 
    date, 
    tim, 
    val1, 
    val2, 
    val3 
from dataset1 
union all 
SELECT 
    date, 
    tim, 
    val1, 
    '' as val2, 
    val3 
From dataset2 

Diese erhalten die Daten aus den zwei Tabellen und Nullwerte in der dataset2 Tabelle, in der die Spalte nicht existieren.

+0

Gibt es eine Möglichkeit, dies zu tun, ohne alle Spalten aufzulisten? Eine Art Wildcard-Methode? –

+0

@Hi_Im_E nein - Sie müssen die Spalten explizit identifizieren, wenn sie unterschiedlich sind. –

+0

@DStanley wenn das der Fall ist, gibt es eine Abfrage, die ich ausführen kann, um alle Spalten aufzulisten, Komma getrennt, also kann ich kopieren und einfügen? –

Verwandte Themen