![]() |
Datenbank: SQLite • Version: 3 • Zugriff über: SQLiteSimpleDelphi-Wrapper
SQL-Befehl vervollständigen?
Hallo,
ich habe in meiner DB eine Spalte mit einem Datum. Nun möchte ich das Datum in eine andere Spalte "kopieren" und ein String dazu fügen. ID | Datum | Datum2 1 | 1.1.14 | 1.1.14: Angelegt 2 | 4.6.14 | 4.6.14: Angelegt ... 7 | 7.7.14 | 7.7.14: Angelegt Irgendwie klappt es bei mir nicht, hab bereits folgendes, aber ist wohl nicht ganz richtig.
Code:
Und noch eine Frage wäre, wie kann ich i in einem SQL-Befehl hochzählen?
UPDATE tabelle SET datum2 = (SELECT datum FROM tabelle WHERE id = i) + ': Angelegt' WHERE id = i
|
AW: SQL-Befehl vervollständigen?
das sollte funktionieren:
Code:
hochzählen in einer einzigen sql anweisung geht. entweder das where weglassen und das update für alle datensätze ausführen, oder ausgewählte ids gleichzeitig mit "where id in (1,2,7,9)"
UPDATE tabelle SET datum2 = concat(datum,': Angelegt') WHERE id = i
|
AW: SQL-Befehl vervollständigen?
Jupp, das gleiche WHERE in der selben Tabelle hätte einem zeigen können, daß man sich das SubSelect sparen kann, da man bereits im selben Datensatz ist.
Noch eindeutiger wird es, wenn man das WHERE des SubSelects entsprechend anpasst.
SQL-Code:
UPDATE tabelle SET datum2 = (SELECT x.datum FROM tabelle AS x WHERE x.id = tabelle.id) + ': Angelegt' --WHERE id = i
UPDATE tabelle SET datum2 = datum + ': Angelegt' --WHERE id = i |
AW: SQL-Befehl vervollständigen?
Ok, aber was ist concat? Ich arbeite mit SQLite, das kennt wohl den Befehl nicht.
Code:
no such function: concat
|
AW: SQL-Befehl vervollständigen?
Zitat:
Komisch nur, dass mit
Code:
das Datum vollständig kopiert wird, aber mit
UPDATE tabelle SET datum2 = datum
Code:
nur der Tag und der Monat... der Rest fehlt. :gruebel:
UPDATE tabelle SET datum2 = datum + ': Angelegt'
|
AW: SQL-Befehl vervollständigen?
Versuchs mal mit:
Code:
UPDATE tabelle SET datum2 = datum || ': Angelegt'
|
AW: SQL-Befehl vervollständigen?
Ja... es klappt, danke euch!
|
AW: SQL-Befehl vervollständigen?
Wobei ich das Feld nicht in die Datenbank schreiben würde (da redundant) sondern erts bei der Abfrage generieren würde.
|
AW: SQL-Befehl vervollständigen?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 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