ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
786
786
EMPFEHLEN
-
28.10.10 15:30 #1
- Registriert seit
- May 2010
- Beiträge
- 8
Hallo,
ich habe folgendes Problem: In einer Tabelle "Konto" (Access 2003) habe ich Datensätze zu den gleichen Konten aber aus unterschiedlichen Geschäftsjahren, z.B.
id / Konto / Geschäftsjahr / ....
1 / 3 / 2010 / .....
2 / 4 / 2010 / ....
3 / 3 / 2009 / ....
...
Ich muss jetzt per SQL in einem neuen Feld "Vorjahres-ID" die ID des alten Jahres wegspeichern. Also für Konto 3 im Jahr 2010 (id=1) soll in einem Feld VJ_ID der Wert 3 gespeichert werden (die ID der letzten Zeile im Bsp.). Wenn es keine Vorjahresdaten gibt, dann bleibt es standardmäßig auf 0.
Weiß jemand wie das geht? Ich habe schon versucht die Tabelle mit sich selbst zu verknüpfen aber immer nur Fehler bekommen. im Augenblick mache ich es über DLookUp für jeden Datensatz einzeln, aber dass dauert zu lange.
Viele Grüße
fischilein
-
Wenn das Geschäftsjahr als Zahl gespeichert ist, kannst du es so lösen
Code sql:1 2 3 4 5 6 7 8 9 10 11
SELECT this_year.id, this_year.Konto, this_year.Geschäftsjahr, last_year.id AS last_year_id FROM Konto AS this_year, Konto AS last_year WHERE this_year.Konto = last_year.Konto AND (this_year.Geschäftsjahr-1) = last_year.Geschäftsjahr;
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
28.10.10 22:24 #3
- Registriert seit
- May 2010
- Beiträge
- 8
Hallo yaslaw,
danke für die Antwort! im Grunde habe ich es auch hinbekommen, aber ich habe jetzt das Problem, dass ich ein feste Abfrage habe. Ich würde das Ganze gerne in einem SQL unterbringen.
Ich habe den SQL von Dir in einer Abfrage1 gespeichert und dann führe ich darauf folgenden SQL aus:
UPDATE Konto INNER JOIN Abfrage1 ON Konto.ID = Abfrage1.id
SET Konto.VJID = [Abfrage1]![last_year_id];
Kann ich das nicht als einen einzigen SQL ausführen? Dafür bin ich wahrscheinlich zu ....
Vielen Dank
fischilein
-
etwa so
Code sql:1 2 3 4 5 6 7 8
UPDATE Konto AS this_year, Konto AS last_year SET this_year.vjid = last_year.Geschäftsjahr WHERE this_year.Konto=last_year.Konto AND (this_year.Geschäftsjahr-1)= last_year.Geschäftsjahr;
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
Ähnliche Themen
-
MYSQL: Update mit werten aus anderer Tabelle
Von Opor im Forum Relationale DatenbanksystemeAntworten: 10Letzter Beitrag: 11.03.10, 16:23 -
Update einer Spalte mit Teilstring aus gleicher Tabelle
Von ratloser99 im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 03.03.10, 13:54 -
Oracle Update mit Werten aus anderer Tabelle
Von Sabine_81 im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 13.10.08, 13:34 -
UPDATE in einer Tabelle mit Werten aus verschiedenen Tabellen
Von T21 im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 19.07.05, 09:33 -
Access 2003 - Summenberechnung aus werten einer 2. Tabelle?
Von ometiclan im Forum Office-AnwendungenAntworten: 1Letzter Beitrag: 11.03.05, 18:53





Zitieren

Login





