Zwei Tabellen zusammenfügen

  • Servus!

    Ich hab zwei Tabellen (in versch. Datenbanken) in der Form

    id vorname name email

    mit id als auto_increment Primärschlüssel. Eine Tabelle hat 300 Datensätze, die andere 180.

    jetzt möcht ich gerne die zwei Tabellen zu einer vereinen... leider sind die Primärschlüssel aber teilweise gleich, weil's eben überall bei Null anfängt.

    Wie kann ich die beiden Tabellen am einfachsten in eine (in die zweite Tabelle) zusammenfügen?

    thx4help
    Fugo



  • Hi!

    Du machst eine neue Tabelle mit autoincrement id und füllst zuerst die Daten der ersten Tabelle und dann die Daten der zweiten Tabelle ein (beide male ohne id, da die ja eh automatisch erzeugt wird).

    andererseits könntest du auch einfach die Daten der zweiten Tabelle auf diese Art an die erste anhängen.

  • Dankke!

    Den Ansatz hatt ich gestern auch. Wollte die Daten der alten Tabelle an die neue ranhängen.

    Aber wie mach ich das per phpmyadmin? ... find die funktion nicht recht.

    thx4help
    Fugo



  • Supi, einwandfrei gefunkt ;) Danke...

    Noch eine Frage.. Kann ich mittels SQL Zellen vertauschen? Ich hab nämlich eine Newslettertabelle, in der sehr viele (ca. 150) falsche Einträge drinnen sind bei denen email und nachname feld vertauscht sind... anscheinend waren da einige Leute nicht in der Lage, die mail in das mail feld zu schreiben.

    Kann man sowas irgendwie automatisieren... so in der Art

    WENN email not like "%@%" email = nachname und namname = email ???



  • Ich würds so machen, wie man auch beispielsweise in Java die Werte zweier Variablen vertauscht:

    Code
    ALTER TABLE blubb ADD COLUMN abc VARCHAR(100); -- oder was auch immer
    UPDATE blubb SET abc=email WHERE NOT email LIKE '%@%';
    UPDATE blubb SET email=nachname WHERE NOT ISNULL(abc);
    UPDATE blubb SET nachname=abc WHERE NOT ISNULL(abc);
    ALTER TABLE blubb DROP COLUMN abc;

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!