Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Zwei gleiche Tabellen: Zeige Änderungen

Dieses Thema im Forum "Microsoft Access" wurde erstellt von Michi_R, 13 April 2015.

  1. Michi_R

    Michi_R Fleissiger Benutzer

    Hallo Leute.

    Folgende Situation: Ich habe eine Tabelle auf die ich ein Update durchführe (Externe Quelle - CSV File oder andere Datenquelle).

    Nun möchte ich gerne nach diesem Update alle Zeilen anzeigen lassen, die sich geändert haben. Ob sich dabei ein oder mehrere Felder geändert haben ist egal.

    Dazu würde ich vor dem Update eine Backup Tabelle anlagen, dann das Update, dann habe ich alt und neu.
    Aber wie sieht der Query aus?
    Die Anzahl der Datensätze bleibt immer gleich.
    Ich hab sowas wie User_ID als Primary key. Und der User hat Name, Vorname, Mail usw. Nach dem Update will ich alle User sehen, bei denen sich ein oder mehrere Attribute geändert haben.

    Wäre super wenn wer helfen kann. Danke schon mal.
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Standard-SQL: EXCEPT:

    Code:
    test=# create table michi_1 as select s, 'name' || s::text  as val from generate_series(1,10) s;
    SELECT 10
    test=*# create table michi_2 as select * from michi_1;
    SELECT 10
    test=*# update michi_1 set val = 'neu' where s = 5;
    UPDATE 1
    test=*# select * from michi_1 except select * from michi_2;
     s | val
    ---+-----
     5 | neu
    (1 row)
    
    test=*# select * from michi_2 except select * from michi_1;
     s |  val
    ---+-------
     5 | name5
    (1 row)
    
     
    Michi_R gefällt das.
  3. Michi_R

    Michi_R Fleissiger Benutzer

    Danke.
    Kann es sein, dass das in MS Access nicht unterstützt wird? :(
     
  4. akretschmer

    akretschmer Datenbank-Guru

    Möglich. Ich halte M$ Access für ähnlich schlecht wie MySQL, und da geht es schließlich auch nicht.
     
  5. Distrilec

    Distrilec Datenbank-Guru

    Schonmal Minus versucht ?
    (Extrem unsauber, bitte die Spalten explizit angeben)
    Code:
    Select *
    From tab_a
    Minus
    Select *
    From tab_b
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden