Katja: Update von Tabelle a nach Tabelle b

Hi zusammen! Ich hab da ein kleines Problem. Leider habe ich diese Datenbank nicht selbst gemacht, und das macht alles was schwieriger.
Ich habe 5 Tabellen. Nur 2 davon sind hier von belangen. Eigentlich ganz einfach.

Tabelle A (adressen) beinhaltet Informationen über einen Kunden mit ID etc pp...
Tabelle B (termin) beinhaltet 5 Preise die der Kunde wählen kann

Nun gut. Der Programmierer hat das ganze so programmiert, dass in Tabelle A eine Spalte namens adrnr (Adressnummer) steht (Typ int(5), keien Attribute, Null=Nein, Standard=0) Darin wird selbstständig hochgezählt, also 1,2,3,4...

In Tabelle B gibts 2 Spalten. Einmal Menge (eigentlich egal) und adr_nr.

So der Wert von Tabelle A von adrnr soll in adr_nr in Tabelle B stehen. Er schreibt aber nur 0 rein :(

Kann ich das mit einem Update beheben? Aber wie mache ich das über 2 Tabellen??

Ich habs so versucht:
$res==@mysql_query("UPDATE termin SET adr_nr = (adrnr,adressen)");
Aber das brachte nciht wirklich erfolg (In A wurde reingeschrieben aber in B nicht). Leider muss man das also noch per Hand machen. Kann mir da jemand helfen??

Thx!!
Gruß, Katja

  1. So der Wert von Tabelle A von adrnr soll in adr_nr in Tabelle B stehen. Er schreibt aber nur 0 rein :(

    Hi! Woher soll man im Nachhinein wissen, welche adrnr zu welchem Eintrag in der Tabelle B gehört? Oder seh veraff ich das gerade jetzt?

    Gruß Uli

    1. Hi!

      Hi! Woher soll man im Nachhinein wissen, welche adrnr zu welchem Eintrag in der Tabelle B gehört? Oder seh veraff ich das gerade jetzt?

      Jaja ich und mien schlechter Ausdruck ;) Soweit ich weiß hat er es so gedeixelt, dass die Spalte in Tabelle B mit der ID aus Tabelle A verknüpft ist. Aber ich weiß halt nicht, wie ich ihm sagen soll, dass er dann auch den Wert übernimmt ausser durch UPDATE.

      Gruß, Katja

      1. Hallo.

        Ok, die erste Unklarheit ist jetzt auch für mich bereinigt. Für mich ist jetzt noch offen, worin der Unterschied in Tabelle A zwischen ID und adrnr ist.

        Grüße aus Würzburg
        Julian

        1. Hallo.

          Hi!

          Ok, die erste Unklarheit ist jetzt auch für mich bereinigt. Für mich ist jetzt noch offen, worin der Unterschied in Tabelle A zwischen ID und adrnr ist.

          Ich hab grad nochmal dran rumgefummelt... also wie ich jetz mal gecheckt habe ist, dass adrnr wohl die ID ist!!
          Mir kam die Idee in Tabelle B auch einen Primärschlüssel zu setzen und die Tabellen dann so irgendwie zu verbinden. Leider hab ich davon echt keinen Plan. Bis jetzt hab ich immer nur mit einer Tabelle gearbeitet :(

          Gruß, Katja

          1. Hallo

            hm, ok, also wenn die ID aus Tabelle A die adr_nr aus Tabelle B ist, dann ist doch die adrnr in A überflüssig, oder?

            Geht es Dir im Moment eigentlich drum existierende Daten wieder zusammen zu bekommen, oder soll gerade nur die Datenbank (neu)erstellt werden? Ich meine, ist in Tabelle B bereits was vorhanden, oder muss am Ende einfach nur für jeden kunden aus A auch eine Zeile in B existieren mit seiner ID/adrnr?
            Wenn es um letzteres geht, dann ist mir nicht ganz klar, wozu die zweite Tabelle nützlich sein soll, da die Menge dann ohne Probleme auch als Spalte in A stehen könnte. Wenn allerdings ersteres der Fall sein sollte, dann wird's - wie Uli schon schrieb - problematisch bis unmöglich die richtigen Datensätze wieder zusammenzustöpseln.

            Grüße aus Würzburg
            Julian

      2. A verknüpft ist. Aber ich weiß halt nicht, wie ich ihm sagen soll, dass er dann auch den Wert übernimmt ausser durch UPDATE.

        Also ich denke im Nachhinein ist da nichts mehr dran zu machen.
        Die Datensätze in Tabelle B sind irgenwie nicht eindeutig zuordenbar. Da in der Spalte adr_nr der Tabelle B "0" steht, kann man im nachhinein auch nicht erkennen wer die ?Bestellung? (Falls es um Bestellungen geht) gemacht hat.
        Sorry, deine Beschreibung ist auch nicht besonders treffend, Es ist besser, wenn du konkrete Datensätze angibst und die Tabellen genauer beschreibst.
        Gruß uli

  2. HI Katja,

    ich habe Dich noch nicht verstanden...
    Du hast eine
    Tabelle A

    Adressenr Name  Adresse
    1         Horst Woanders
    2         Emil  Ganz Woanders

    Tabelle B
    adressnr menge
    1        x3x
    2        5

    und du möchtest jetzt gerne ausgegeben haben
    Horst Woander       x3x
    Emil  Ganz Woanders 5  ??

    das würde dann so gehen:
    select tabellea.name, tabellea.adresse, tabelleb.menge from tabellea, tabelleb where tabellea.adressnr = tabelleb.adressnr;

    vielleicht habe ich dich aber auch ganz falsch verstanden...

    gruss