10. März 200223 j Will folgende INSERT Anweisung ausführen: INSERT into fehler (fehler_id, raum_id, geraete_id, kat_id, meldedatum, lehrer, status, bearbeitungsbemerkung) values ('','A003', 'A003-03', '(SELECT kat_id from fehler_kat WHERE kat_beschreibung = 'Maus kaputt')', now(), 'Tolles', 'Offen','Toll'); Wie ihr seht soll ein Eintrag, nämlich kat_id, per SELECT Anweisung aus einer anderen Tabelle ermittelt werden. Nach meiner Syntax wirft er mir aber immer nen Fehler aus. Was mache ich falsch? Kann mir jemand die richtige Syntax posten? Vielen , vielen Dank im voraus!!!!
10. März 200223 j Welches DBMS verwendest Du? Nicht jedes DBMS unterstuetzt Subselects, Select Into ... bzw. Insert ... Select Into.
11. März 200223 j wie siehts denn aus, wenn Du den subselect probeweise durch einen normalen String ersetzt? Klappt das Insert dann?
11. März 200223 j Ich vermute mal, dass du Access als "Datenbank" verwendest. Allerdings ist es egal, da fast alle DBMS Subqueries in INSERT-Anweisungen unterstützen. Also dein Hauptproblem liegt vermutlich daran, dass du die Subquery (SELECT kat_id from fehler_kat ...) und die VALUES Klauseln zusammen verwenden möchtest. Das geht meines Wissens nicht so einfach. Außerdem darf die Select-Anweisung nicht in Anführungszeichen stehen. Es gibt aber eine einfache Möglichkeit: == VERWENDE NUR EINE SUBQUERY: == INSERT INTO Tabelle2 ( ID, Feld1 ) SELECT Tabelle1.ID, "Freier Text" FROM Tabelle1; In deinem Fall also: INSERT INTO fehler (fehler_id, raum_id, geraete_id , kat_id, meldedatum, lehrer, status, bearbeitungsbemerkung) SELECT '','A003', 'A003-03', kat_id, now(), 'Tolles', 'Offen','Toll' FROM fehler_kat WHERE kat_beschreibung = 'Maus kaputt' Achtung: Gibt es mehrere Datensätze mit kat_beschreibung, so werden auch mehrere Datensätze einfgefügt (id-Nummer wäre besser!!!) Ich hoffe es hilft dir weiter
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.