Programmieren - alles kontrollieren 4.939 Themen, 20.672 Beiträge

MS Access/SQL: INSERT mit UNION SELECT. Wie?

d-oli / 5 Antworten / Flachansicht Nickles

Hi,

Folgende UNION-Abfrage mit MS Access 2000 funktioniert:

SELECT * FROM Tabelle1
UNION SELECT * FROM Tabelle2;

Auch folgende Einfüge-Abfrage funktioniert:

INSERT INTO Tabelle3
SELECT * FROM Tabelle1;

Aber eine Einfüge-Abfrage kombiniert mit einer UNION-Abfrage scheint nicht zu funktionieren:

INSERT INTO Tabelle3
SELECT * FROM Tabelle1
UNION SELECT * FROM Tabelle2;

Die Fehler-Meldung "Syntaxfehler in FROM-Klausel" erscheint. Nach dem Klicken von OK wir "UNION" selektiert.

Was ist falsch?

Dank und Gruss, d-oli

Konstruktive Kritik zeichnet sich dadurch aus, dass sie höflich, nützlich und sachlich ist.
bei Antwort benachrichtigen
d-oli Andreas42 „Hi! Ich würde vermuten, dass im ersten Select die Definition von Tabelle3 und 1...“
Optionen

Hmmm ...
Tabelle 1-3 sind identisch.
Ich denke, dass es nicht möglich ist INSERT mit UNION zu kombinieren. Das Problem ist folgendes:

2 identische Tabellen ( Tabelle 1 + 2 ) mit gleichen und unterschiedlichen Daten, sollen in einer Tabelle zusammengefasst werden.
D.h.
- Gleiche Datesätze sollen in der neuen Tabelle ( Tabelle 3 ) nur einmal abgebildet werden
- Ungleiche Datesätze sollen in der neuen Tabelle ebefalls abgebildet werden

Da ich denke, dass INSERT kombiniert mit UNION nicht funktioniert, werde ich wohl zwei INSERT- Abfragen machen müssen. Eine die Tabelle 1 in Tabelle 3 Kopiert und die andere, die die ungleichen Daten (verglichen mit Tabelle 3 ) aus Tabelle 2 in Tabelle 3 schreibt.

In einem SQL-Statement wird dies ja wohl kaum möglich sein. Oder?

Gruss, d-oli

Konstruktive Kritik zeichnet sich dadurch aus, dass sie höflich, nützlich und sachlich ist.
bei Antwort benachrichtigen