Wo ist der Fehler in der SQL Abfrage?
-
Folgendes SQL Kommando
INSERT INTO TEins(TEins.ZweiID) VALUES (SELECT TZweiID.ID FROM TZweiID WHERE TZweiID.ID='75')
bringt den Fehler "Incorrect syntax near the keyword 'SELECT'". Woran liegt das, ich find den Fahler nicht. Das Beispiel ist natürlich Quatsch, aber nur zur Veranschaulichung...
-
Hallo,
die richtige Syntax lautet:
INSERT INTO TEins(TEins.ZweiID) SELECT TZweiID.ID FROM TZweiID WHERE TZweiID.ID='75'
-
Und wenn ich mehere Werte eintragen will, verwende ich VALUES?
-
Jein, wenn du mehrere Werte "manuell" eintragen willst, verwendest du Values.
Bsp:
INSERT INTO TEins(TEins.ZweiID) VALUES (100),(200),(300);
Wenn die Select-Query mehrere Zeilen liefert, werden auch mehrere Zeilen eingefügt.mfg
xXx
-
Nee, ich möchte mehrere Spalten eintragen. Also sowas:
INSERT INTO Tabelle (Col1, Col2) VALUES (1,2) INSERT INTO Tabelle (Col1, Col2) VALUES (1, SELECT...) INSERT INTO Tabelle (Col1, Col2) SELECT..., SELECT...
Die ersten zwei tun's bei mir, aber mit der dritten tu ich mich schwer.
-
Also das Ergebnis von mehreren Selects?
Select col1A, col2A UNION SELECT col1B, col2B UNION SELECT col1C, col2C
(ungetestet)mfg
xXx
-
Auch das ist es noch nicht. Ich möchte je eine Spalte aus zwei Tabellen einfügen, als ein Datensatz. Zum Hintergrund: diese zwei Tabellen sind Look-up Tabellen und ich brauche daraus Indices.
-
dann mach das doch in einer Query:
Select t1.col1, t2.col2 FROM t1, t2 WHERE t1.index=? AND t2.index=?mfg
xXx
-
Ach ja klar, man kann ja auch mehrere Tabellen in eine SELECT schreiben *ggrrrr*. Ich geh mal nen Kaffee trinken....