[SQL allgemein] Zusammenführen zweier tabellen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [SQL allgemein] Zusammenführen zweier tabellen

    Hi!

    nur um es gleich vorweg zu nehmen, suche und manual haben mir nicht weitergeholfen...

    also ich habe 2 Tabellen mit 'fast' identischen daten, nur eine spalte ist in der einen Tabelle anders und sollte in die andere tabelle (oder eine dritte)eingefügt werden.
    die struktur aller tabellen sieht so aus:

    PHP-Code:
    CREATE TABLE problem (
      
    id int(10unsigned NOT NULL auto_increment,
      
    geloest tinyint(1unsigned NOT NULL default '0',
      
    entra_id varchar(50) default NULL,
      
    start_datum timestamp(14NOT NULL,
      
    titel varchar(100NOT NULL default '0',
      
    beschreibung text,
      
    user_id int(10unsigned NOT NULL default '0',
      
    an_user_id int(10unsigned NOT NULL default '0',
      
    gemeldet_von_user_id int(10unsigned NOT NULL default '0',
      
    status tinyint(3unsigned NOT NULL default '0',
      
    loesung text,
      
    end_datum timestamp(14NOT NULL,
      
    anzeigen tinyint(1NOT NULL default '0',
      
    sachbearbeiter int(10unsigned NOT NULL default '0',
      
    sachbearbeiter_ext varchar(100NOT NULL default '',
      
    id_alt int(10unsigned NOT NULL default '0',
      
    prio_id int(10unsigned NOT NULL default '0',
      
    PRIMARY KEY  (id),
      
    FULLTEXT KEY suche (loesung,titel,beschreibung)
    TYPE=MyISAM AUTO_INCREMENT=450 
    nun möchte ich eine dritte tabelle erstellen, die alle datensätze enthält, nur z.B. eine spalte soll nicht tabelle1.titel sondern tabelle2.titel sein...

    mein problem ist, dass ich nicht weiß wie ich das auf anhieb für alle datensätze hinbekomme...

    MfG Matze

  • #2
    tabelle1 und tabelle2 kannst du ja in einem SELECT abfragen und die daten bekommen, die du willst

    Code:
    CREATE TABLE tabelle3(
    <spaltendefinition>
    )
    SELECT tabelle1.irgendwas, tabelle2. nochwas
    FROM tabelle1, tabelle2
    WHERE tabelle1.id = tabelle2.id
    sollte dir dann weiterhelfen
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      so, hatte mir nun das zusammengebastelt, aber es wird eben erst das select ausgeführt, das funktioniert, und dann das INSERT, da sagt er natürlich, dass er die tabelle problem und problem_alt nicht finden kann, ich schätze, dass das der fall ist, weil das SELECT danach die daten wieder verwirft, wie kann ich das umgehen?


      PHP-Code:
      SELECT problem.*, problem_alt.* FROM problemproblem_alt WHERE problem.id problem_alt.id;

      INSERT INTO problem_123
      VALUES
      (problem_alt.id,problem.geloestproblem.entra_idproblem_alt.start_datumproblem.titelproblem.beschreibungproblem.user_idproblem.an_user_idproblem.gemeldet_von_user_idproblem.statusproblem_alt.loesungproblem.end_datumproblem.anzeigenproblem.sachbearbeiterproblem.sachbearbeiter_extproblem.id_altproblem.prio_id); 

      Kommentar


      • #4
        Original geschrieben von matze_0815
        wie kann ich das umgehen?
        so wie ich oben geschrieben habe?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar

        Lädt...
        X