Hallo Reto, Hallo Robert, Hallo Liste, erstmal danke für eure Antworten, auch wenn sie noch nicht zu einer funktionierenden Lösung geführt haben.
Robert schrieb: > Vielleicht verstehe ich auch die Frage nicht so ganz. Aber Du hast > ein Einfügekommando, dass nach dem Wert zu Ende ist. Willst Du > das nächste Kommando gleich hinterherschieben, so musst Du > mit ";" trennen. Das 2. Kommando ist eine ganz nurmale Abfrage, > hat meines Erachtens mit dem ersten überhaupt nichts zu tun. Um diese Unklarheiten zu beseitigen, werde ich die Aufgabe noch mal ausführlich beschreiben: Ich habe eine eine Tabelle mit Ausrüstungsgegenständen: Items(*ItemID, Bezeichnung, ...) 1 Werkzeugkasten 2 Warndreieck 3 Klappleiter 4 Verkehrsleitkegel .... In einer weiteren Tabelle sind Fahrzeugtypen gespeichert: FzTyp(*FzTypID, Bezeichnung, ...) 1 Einsatzleitfahrzeug (Jeep) 2 Einsatzleitfahrzeug (Van) 3 Rüstwagen ... Zwischen diesen beiden Tabellen gibt es ein n:m-Beziehung, die ausdrückt welchen Lieferumfang der jeweilige Fahrzeugtyp enthält. Diese Bezeihung ist durch eine weitere Tabelle realisiert: FzLu(*FzTypID, *ItemID, Anzahl) 1 2 1 1 4 10 3 1 3 3 3 2 ... Bisher habe ich in der Datenbank also die erhältlichen Fahrzeugtypen und ihren Lieferumfang gespeichert. Zum einen kann ich nun mehrere Fahrzeuge desselben Typs kaufen, zum anderen kann ich die Ausstattung dieser Fahrezuge nach dem Kauf verändern, deshalb gibt es die beiden Tabellen Fz(*FzID, FzTypID, ...) in der die tatsächlich vorhandenen Fahrzeuge gespeichert sind und FzA(*FzID, *ItemID, Anzahl) in der gespeichert wird welche Ausrüstung auf welchem Fahrzeug ist (n:m Relation zwischen Fz und Items). Was ich gerade um zu setzen versuche ist das "Kaufen eines neuen Fahrzeugs". Dazu muss zuerst in Fz ein neuer Datensatz angelegt werden, der auf den entsprechenden FzTyp verweißt. Das habe ich über ein Makro erledigt. Danach muss für das neue Fahrzeug der Liederumfang in die Ausstattungsliste übertragen werden, dazu wollte ich das SQL Kommando wissen. Anders ausgedrück: Ich suche ein SQL Kommando, dass mir in eine Tabelle (FzA) alle Einträge einer anderen Tabelle (FzLu) kopiert, die eine bestimmte Bedingung erfüllen (FzTypID = Fahrzeugtyp des neu gekauften Fahrzeugs). Dabei werden auch der zweiten Tabelle aber nicht alle Spalten benötigt (nur ItemID und Anzahl) und in die erste Spalte der ersten Tabelle ist immer der gleiche Werte (FzID des neugekauften Fahrzeugs) zu schreiben. Nun zu euren Vorschlägen: Reto schrieb: > Ich glaube du hast die Spalte vergessen anzugeben. Zwar weiss die > Datenbank nun dass du etwas in die Tabelle FzA schreiben willst, aber > nicht in welche Spalte: > INSERT INTO "FzA" (Spalte) VALUES (WERT) Nach meinen Quellen ist die Angabe der Spalten, in die etwas eingetragen werden soll optional. Werden die Spalten nicht angegeben, müssen werte für jede vorhandene Spalte der Zieltabelle in der richtigen Reihenfolge angegeben werden, was bei meinem Ansatz der Fall war. Reto machte noch folgenden Vorschlag: > INSERT INTO "FzA" (Spalte1,ItemID,Anzahl) VALUES ('1',(SELECT "ItemID" > FROM "FzLu" WHERE "FzTypID" = 10),(SELECT "Anzahl" FROM "FzLu" > WHERE "FzTypID" = 10)) An diesem Vorschlag paßt mir nicht, dass für ItemID und Anzahl zwei getrennte Abfragen gemacht werden, es ist aber wichtig, das ItemID und Anzahl aus dem selben Datensatz der abgefragten Tabelle stammen. Bringt diese Abfrage den Fehler "Single Value expected". Rober schlug vor: > INSERT INTO "AFz" (FzID) VALUES ('1'); > SELECT "FzLu"."ItemID" "FzLu"."Anzahl" > FROM "FzLu" WHERE "FzLu"."FzTypID" = 10 Hierbei handelt es sich doch um nacheinander abgearbeitete Anweisungen, oder. Das Ergebnis von Select soll aber geinsertet werde, wie oben beschrieben. Ich habe inzwischen die Vermutung, dass ich das Problem eleganter mit Union oder Join lösen kann. Die Einleitung des entsprechenden Kapitels in meinen SQL-Buch klingt vielversprechend. Gruß Lars --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]