❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Insert mit Select Statement?
Insert mit Select Statement?
Mahlzeit,
ich habe zwei Tabellen, eine große Tabelle 1 die alle Daten enthält. Aus der großen Tabelle möchte ich einige Spalten in eine andere Tabelle 2 übernehmen.
Tab 2 besteht aus 8 Spalten: ID (Autoincr.),A,B,C,D,E,F,G
INSERT INTO "2" ( "A","B","C","D","E","F") values (
SELECT "a","b",SUBSTRING(c,4,4),SUBSTRING(c,1,2),"d","e" from "1")
Beim Ausführen des SQL bekomme ich aber immer: "Column count does not match in statement ..."
Das Select allein ausgeführt liefert alle gewünschten Daten. Und nach Adam Riese stimmt auch die Anzahl der Spalten überein.
Hat jemand bitte einen Tip für mich woran das liegen könnte?
VG
MacLeod
ich habe zwei Tabellen, eine große Tabelle 1 die alle Daten enthält. Aus der großen Tabelle möchte ich einige Spalten in eine andere Tabelle 2 übernehmen.
Tab 2 besteht aus 8 Spalten: ID (Autoincr.),A,B,C,D,E,F,G
INSERT INTO "2" ( "A","B","C","D","E","F") values (
SELECT "a","b",SUBSTRING(c,4,4),SUBSTRING(c,1,2),"d","e" from "1")
Beim Ausführen des SQL bekomme ich aber immer: "Column count does not match in statement ..."
Das Select allein ausgeführt liefert alle gewünschten Daten. Und nach Adam Riese stimmt auch die Anzahl der Spalten überein.
Hat jemand bitte einen Tip für mich woran das liegen könnte?
VG
MacLeod
Re: Insert mit Select Statement?
Hi,
entweder values oder Select darum:
oder
wobei dann natürlich der Datentyp zur Spalte passen muss.
Gruß R
entweder values oder Select darum:
Code: Alles auswählen
INSERT INTO "2" ( "A","B","C","D","E","F") SELECT "a","b",SUBSTRING(c,4,4),SUBSTRING(c,1,2),"d","e" from "1"
Code: Alles auswählen
INSERT INTO "2" ( "A","B","C","D","E","F") VALUES( 17,'Hallo','Montag','Herr',23.448,TRUE)
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Insert mit Select Statement?
Danke.F3K Total hat geschrieben:Hi,
entweder values oder Select darum:...Code: Alles auswählen
INSERT INTO "2" ( "A","B","C","D","E","F") SELECT "a","b",SUBSTRING(c,4,4),SUBSTRING(c,1,2),"d","e" from "1"
Gruß R
Für mich kommt dann nur die erste Variante in Frage.
Nur bekomme ich damit leider einen weiteren Fehler

Ich muss mal schauen woran das liegt.SQL-Status: HY000
Fehler-Code: 1000
syntax error, unexpected $end, expecting BETWEEN or IN or SQL_TOKEN_LIKE
Schönen ersten Advent!
Re: Insert mit Select Statement?
Hallo MacLeod,
hast Du die Abfrage so ausprobiert?
Vielleicht sind es ja nur die Anführungszeichen um die "c".
Ich habe das gerade bei einer einfachen Tabelle mit zwei Spalten getestet - lief problemlos ab.
Gruß
Robert
hast Du die Abfrage so ausprobiert?
Code: Alles auswählen
SELECT "a","b",SUBSTRING(c,4,4),SUBSTRING(c,1,2),"d","e" from "1"
Ich habe das gerade bei einer einfachen Tabelle mit zwei Spalten getestet - lief problemlos ab.
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Insert mit Select Statement?
Auch der Feldname C war entsprechend mit " eingefasst. Das ist ein Schreibfehler gestern hier im Forum gewesen.
Ein evtl. Problem fällt mir gerade noch auf.
Die Felder aus Tabelle 1 sind alles Varchars. In Tabelle 2 sind nur die Felder A und F Varchar, B ist Smallint und C,D,E sind Numeric. Kann das der Grund für die Fehlermeldung sein?
Code: Alles auswählen
SELECT "a","b",SUBSTRING("c",4,4),SUBSTRING("c",1,2),"d","e" from "1"
Die Felder aus Tabelle 1 sind alles Varchars. In Tabelle 2 sind nur die Felder A und F Varchar, B ist Smallint und C,D,E sind Numeric. Kann das der Grund für die Fehlermeldung sein?
Re: Insert mit Select Statement?
Logo!
Wenn die DB trotz löschen vieler Zeilen zu groß zum Hochladen ist, führe einmalig über Extras/SQL... den Befehl, um sie zu komprimieren, aus.
Gruß R
Du kannst eine ggf. verfremdete Version deiner DB, ein paar Datenzeilen reichen, hier hochladen, gezippt, dann haben wir es in zwei MInuten.F3K Total hat geschrieben:... wobei dann natürlich der Datentyp zur Spalte passen muss.
Wenn die DB trotz löschen vieler Zeilen zu groß zum Hochladen ist, führe einmalig über Extras/SQL... den Befehl
Code: Alles auswählen
CHECKPOINT DEFRAG
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Insert mit Select Statement?
Problem gelöst. Ich war die Tage an einem Rechner mit einer älteren Version vom Open Office
Jetzt mit meinem normalen PC und LO 4.4.6.3 sieht das ganze schon anders aus. Hier bekomme ich einen "Value to o long" Fehler beim Ausführen des SQL. Und siehe da, LO hat sogar recht. Das Feld in Tabelle 2, dass den Substring-Wert mit 4,4 aufnehmen soll, hatte nur Numeric mit 3 Zeichen in der Definition
Danke für die Hilfe!!!



Jetzt mit meinem normalen PC und LO 4.4.6.3 sieht das ganze schon anders aus. Hier bekomme ich einen "Value to o long" Fehler beim Ausführen des SQL. Und siehe da, LO hat sogar recht. Das Feld in Tabelle 2, dass den Substring-Wert mit 4,4 aufnehmen soll, hatte nur Numeric mit 3 Zeichen in der Definition



Danke für die Hilfe!!!
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.