discostew Geschrieben 10. März 2002 Teilen Geschrieben 10. März 2002 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!!!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hades Geschrieben 10. März 2002 Teilen Geschrieben 10. März 2002 Welches DBMS verwendest Du? Nicht jedes DBMS unterstuetzt Subselects, Select Into ... bzw. Insert ... Select Into. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Beagol Geschrieben 11. März 2002 Teilen Geschrieben 11. März 2002 ...und die Fehlermeldung selbst wäre nicht schlecht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Beagol Geschrieben 11. März 2002 Teilen Geschrieben 11. März 2002 wie siehts denn aus, wenn Du den subselect probeweise durch einen normalen String ersetzt? Klappt das Insert dann? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Olli_Master Geschrieben 11. März 2002 Teilen Geschrieben 11. März 2002 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.