SQlite3: Wie kann man das Select-Ergebnis speichern?
Ich muss zugeben dass es dabei sich um eine Anfängerfrage handelt.
Meine Frage: Wie kann man das Select-Ergebnis speichern? (Die Original Datenbank wird durch das Select-Ergebnis ersetzt.)
Als Beispiel nehme ich aus https://www.tutorialspoint.com/sqlite/sqlite_having_clause.htm
Die ursprüngliche Datenbank hat eine Tabelle names COMPANY und sieht so aus...
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
8 Paul 24 Houston 20000.0
9 James 44 Norway 5000.0
10 James 45 Texas 5000.0
Mit dem SELECT Befehl lassen sich die IDs mit name count kleiner als 2 auswählen.
sqlite > SELECT * FROM COMPANY GROUP BY name HAVING count(name) < 2;
Das Ergebnis sieht so aus...
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000
5 David 27 Texas 85000
6 Kim 22 South-Hall 45000
4 Mark 25 Rich-Mond 65000
3 Teddy 23 Norway 20000
Wie kann ich dies Ergebnis speichern? Danke!
1 Antwort
Das Speichern geht mit der INSERT- und das Ändern mit der UPDATE-Anweisung. So wie Du das vorhast, könnten aber Probeme auftauchen, wenn die neu gespeicherten Einträge im Widerspruch zu den bereits vorhandenen stehen. Wenn Du z.B. wie auch immer einen Satz aus Deinem Select speichern möchtest, so können verschiedene Situationen eintreten. Beim Einfügen mit INSERT: Der Satz mit der gegeben ID kann nicht eingefügt werden, weil die ID schon vorhanden ist. Der vorhandene und hier störende Satz könnte aber mit UPDATE überschrieben werden. Du könntest aber auch den Satz mit einer noch nicht vorhandenen ID versehen. Ob das richtig ist und so beabsichtigt ist, kommt auf Deine Aufgabenstellung an. Ich weiß ja nicht, warum Du das machst und was Du damit beabsichtigst.