tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
1399
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    piti66 piti66 ist offline Mitglied Brokat
    Registriert seit
    Feb 2005
    Beiträge
    421
    Hey,

    irgendwie will es heute nicht bei mir!
    Also ich will in einer Tabelle 2 Spalten(einer davon ist nämlich archiviert und verändert, aber zum größten teil sind sie gleich - bis halt auf die änderungen) vergleichen(ca.100Felder) und den unterschied dann ausgeben.
    Weiß jemand wie ich dass am besten machen kann!
    Die alte und die neue id der Datensätze habe ich bräuchte also nur vergleichen!

    Danke schonmal!

    mfg

    sebastian
     

  2. #2
    Registriert seit
    Mar 2005
    Ort
    Bühl/Baden
    Beiträge
    2.330
    Ist jetzt nicht getestet und weis auch nicht, ob es klappt.
    Code sql:
    1
    
    SELECT t1.* FROM tabelle1 AS t1, tabelle2 AS t2 WHERE t1.name != t2.name AND t1.ID = t2.ID
    Das gibt dir jetzt die Daten aus Tabelle 1 aus. Sagen wir mal, dass das die Tabelle mit den aktuellen Daten ist. Willst du die gesicherten Daten haben, ersetzte t1.* durch t2.*
     
    Gruß fanste

    Benutze bitte immer die passende Highlight-Tags.(z.B: für PHP [php] [/php] Allgemein: [highlight=SCRIPTSPRACHE]Code[/highlight] )

    Problem gelöst? Dann markiere das Thema bitte als erledigt!
    Beachte bitte die Netiquette. Insbesondere Punkt 15.

  3. #3
    piti66 piti66 ist offline Mitglied Brokat
    Registriert seit
    Feb 2005
    Beiträge
    421
    Zitat Zitat von fanste
    Ist jetzt nicht getestet und weis auch nicht, ob es klappt.
    Code sql:
    1
    
    SELECT t1.* FROM tabelle1 AS t1, tabelle2 AS t2 WHERE t1.name != t2.name AND t1.ID = t2.ID
    Das gibt dir jetzt die Daten aus Tabelle 1 aus. Sagen wir mal, dass das die Tabelle mit den aktuellen Daten ist. Willst du die gesicherten Daten haben, ersetzte t1.* durch t2.*
    Danke erstmal, aber ich will nichts ersetzen oder so ich will nur die einzelnen zeilen vergleichen und den unterschied dann per mail verschicken bzw. auf dem Bildschirm ausgeben. Achso es ist eine Tabelle!
    Also brauch ich dann die Ausgabe der Unterrschiede.
    z.bsp.
    Name(zeile1)=Bernd
    Name(zeile2)=Bernd
    sind gleich also keine ausgabe.
    Ort(zeile1)=Berlin
    Ort(zeile2)=Rostock
    sind unterschiedlich also möcht ich eine ausgabe der änderung!

    Hoffe ist jetzt klar was ich meine

    mfg
     

  4. #4
    piti66 piti66 ist offline Mitglied Brokat
    Registriert seit
    Feb 2005
    Beiträge
    421
    Kann mir denn keiner irgendwie helfen?

    mfg

    sebastian
     

  5. #5
    piti66 piti66 ist offline Mitglied Brokat
    Registriert seit
    Feb 2005
    Beiträge
    421
    Hab es jetzt mal mit 2 Arrays probiert die verglichen werden!

    PHP-Code:
     $query_dat1="SELECT * FROM marktpartner WHERE id = '770'";
      
    $abfrage1=mysql_query($query_dat1);
      
    $array_dat1=mysql_fetch_array($abfrage1);
      
      
    $query_dat2="SELECT * FROM marktpartner WHERE id = '771'";
      
    $abfrage2=mysql_query($query_dat2);
      
    $array_dat2=mysql_fetch_array($abfrage2);    


        
    $vergleich=array_diff($array_dat1$array_dat2);
        
    print_r($vergleich); 
    So funktioniert es jetzt!

    mfg
     

  6. #6
    piti66 piti66 ist offline Mitglied Brokat
    Registriert seit
    Feb 2005
    Beiträge
    421
    Eine Frage hab ich aber noch!
    Hab jetzt zwar die unterschiede aber ich möcht die Spaltennamen auch haben! Dass man genau schreiben kann was sich geändert hat!

    PHP-Code:
      $query_dat1="SELECT * FROM marktpartner WHERE id = '771'";
      
    $abfrage1=mysql_query($query_dat1);
      
    $array_dat1=mysql_fetch_array($abfrage1);
      
      
    $query_dat2="SELECT * FROM marktpartner WHERE id = '770'";
      
    $abfrage2=mysql_query($query_dat2);
      
    $array_dat2=mysql_fetch_array($abfrage2);    


        
    $vergleich=array_diff($array_dat1$array_dat2);
        
    //print_r($vergleich);
      
    $vergleich=array_unique($vergleich);
        foreach(
    $vergleich as $verg)
      echo 
    $verg,"<br>"
    Folgend ausgabe hab ich:

    771
    GmbH & Co.Kg
    5
    Leipzig
    363008085

    Jetzt möcht ich halt auch die Spaltennamen davor haben! Ist dass irgendwie möglich?

    mfg
     

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 08.07.09, 09:01
  2. Spalten einer SQL-Tabelle - Konvertierung?
    Von L17 im Forum .NET Datenverwaltung
    Antworten: 3
    Letzter Beitrag: 08.04.08, 11:14
  3. Antworten: 5
    Letzter Beitrag: 28.02.08, 21:11
  4. Anzahl an Spalten in einer Datenbank
    Von DarthShader im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 01.05.07, 17:22
  5. 50 Spalten in einer Tabelle
    Von Grübelmonster im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 15.07.05, 21:33