2017-12-12 5 views
0

Meine Produktion sendet Elemente über 1 von 2 identischen Maschinen, die Daten in ihre eigenen Tabellen protokollieren. Jeder Artikel hat eine Seriennummer und ich möchte alle Seriennummern der Teile auflisten, die die Maschinen passiert haben.SQL. Wählen Sie alle Seriennummern aus zwei verschiedenen Tabellen

Alle Versuche ich mit Inner Join getan haben, gibt mir ein Ergebnis mit zwei Spalten, die ich nicht so interessiert bin.

CREATE TABLE tblTemp (SerialNumber Varchar(50)) 
go 
INSERT INTO tblTemp SELECT DISTINCT SerialNumber FROM Table1 
go 
INSERT INTO tblTemp SELECT DISTINCT SerialNumber FROM Table2 
go 
SELECT * FROM tblTemp ORDER BY SerialNumber 
go 
DROP TABLE tblTemp 
go 

Meine Ausgabe, die ich sollte wie
Serial sein haben wollen
SN001
SN002
SN003

Mein Code funktioniert, aber ich denke, dass es eine Möglichkeit gibt, mit einer Art von virtuellen temporären Tabellen zu arbeiten, so dass ich alle in einer Abfrage haben kann?

Antwort

0

Verwenden Sie Union, um alle in 1 Ergebnis zu erhalten.

SELECT * FROM 
(SELECT DISTINCT SerialNumber FROM Table1 
    UNION 
    SELECT DISTINCT SerialNumber FROM Table2 
) ORDER BY SerialNumber 
+0

helfen würde, Das ist richtig. Ich habe nur die äußere Abfrage hinzugefügt, wenn Sie nach dem Abrufen aller Ergebnisse sortiert werden möchten, aber die innere Abfrage selbst ist ausreichend. – isaace

+0

'SELECT DISTINCT SerialNumber FROM Tabelle1 UNION SELECT DISTINCT SerialNumber FROM Tabelle2 ORDER BY SerialNumber' Das war es für mich. Die anfängliche Auswahl verursachte einen Fehler. Danke für die Eingabe !!! –

+0

Gern geschehen! – isaace

0

Versuchen für diese beiden select-Anweisungen Vereinigung, die Sie

+0

Richtig! Simpel und einfach. Vielen Dank! –

+0

willkommen .... :-) –

Verwandte Themen