![]() |
Datenbank: mdb • Zugriff über: ado
SQL einfügen mit select
Hallo,
ich möchte in tabelle 1 werte einfügen die aus tabelle 2 genommen werden sollen. Hinzu kommen aber noch andere variablen. Also kein direktes copy. Wäre das mit dieser Überlegung möglich?
Delphi-Quellcode:
Leider hab ich nicht wirklich eine Idee, wie das gehen könnte.
Datensatz für Select: id1
INSERT INTO tabelle1 (f11,f12,f13,f14...) SELECT f21,f22 FROM tabelle2 WHERE id=id1 VALUES (:IN1,:IN2,:IN3,:IN4) param...IN1:=edit.text param...IN2:=f21 ... Oder ist dies so nicht üblich und ich bin auf dem Holzweg zum Teich? Grüße |
Re: SQL einfügen mit select
Also, etwas in der Art
SQL-Code:
sollte schon gehen. Nur, was die VALUES sollen, hab ich nicht verstanden.
INSERT INTO Tabelle2(Wert1, Wert2)
SELECT Wert1, Wert2 FROM Tabelle1 WHERE ID=1000 |
Re: SQL einfügen mit select
Er will ausser den Daten aus dem select in einem Rutsch weitere Werte einfügen.
Das wird so nicht gehen. Man könnte versuchen die Werte als Konstanten in den Select einzubauen. |
Re: SQL einfügen mit select
Wenn ich es richtig verstehe dann geht das ganze doch so:
Delphi-Quellcode:
/ungetestet
var
Wert1, Wert2, Wert3 : String; a : Integer; begin a := 0; with FormDatenmodul.qSQL do begin close; with SQL do begin clear; Add('SELECT x,y,z'); Add('FROM TABELLE_A'); Add('WHERE x = 4;'); end; open; while not EOF do begin Wert1 := FieldByname('x').asString; Wert2 := FieldByname('y').asString; Wert3 := FieldByname('z').asString; inc(a); with FormDatenmodul.qEINFUEGEN do begin close; with SQL do begin clear; Add('INSERT INTO TABELLE_B'); Add('(a, b, c, d)'); Add('VALUES('); Add('"'+ Wert1 +'",'); Add('"'+ Wert2 +'",'); Add('"'+ Wert3 +'",'); Add('"'+ IntToStr(a) +'"'); Add(');'); end; ExecSQL; close; end; next; end; end; |
Re: SQL einfügen mit select
Er wollte dies aber in einer SQL-Abfrage machen.
|
Re: SQL einfügen mit select
Zitat:
Ich dachte es mir schon, also werde ich erst die Daten holen und dann einfügen Schade, wäre auch zu einfach gewesen :D Danke an alle |
Re: SQL einfügen mit select
Zitat:
|
Re: SQL einfügen mit select
Moment, wirf die Flinte nicht zu schnell ins Korn. Ich habe das nicht ausprobieren können, aber versuch es mal so:
SQL-Code:
INSERT INTO Tabelle2(Wert1, Wert2, Wert3, Wert4)
SELECT Wert1, Wert2, :Param1 AS Wert3, :Param2 AS Wert4 FROM Tabelle1 WHERE ID=1000 |
Re: SQL einfügen mit select
Das werde ich mal probieren
sage dan an dieser stelle bescheid wird aber erst morgen wieder danke! |
Re: SQL einfügen mit select
Das sollte funktionieren. Wies auch nict :gruebel:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz