tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
786
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    fischilein2 fischilein2 ist offline Rookie
    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
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    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

  3. #3
    fischilein2 fischilein2 ist offline Rookie
    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
     

  4. #4
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    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

  1. MYSQL: Update mit werten aus anderer Tabelle
    Von Opor im Forum Relationale Datenbanksysteme
    Antworten: 10
    Letzter Beitrag: 11.03.10, 16:23
  2. Update einer Spalte mit Teilstring aus gleicher Tabelle
    Von ratloser99 im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 03.03.10, 13:54
  3. Oracle Update mit Werten aus anderer Tabelle
    Von Sabine_81 im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 13.10.08, 13:34
  4. UPDATE in einer Tabelle mit Werten aus verschiedenen Tabellen
    Von T21 im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 19.07.05, 09:33
  5. Access 2003 - Summenberechnung aus werten einer 2. Tabelle?
    Von ometiclan im Forum Office-Anwendungen
    Antworten: 1
    Letzter Beitrag: 11.03.05, 18:53