Einzelnen Beitrag anzeigen

Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#2

Re: Daten von einer Tabelle in eine andere schreiben

  Alt 20. Sep 2006, 12:14
Zitat von rbertus2000:
Ich habe zwei Tabellen, die ich irgendwie verknüpfen möchte, habe es auch schon mit Mastersource versucht, aber es hat irgendwie nicht funktioniert.

Tabelle A
id (Primärschlüssel)

Tabelle B
id (Primärschlüssel)

Ich möchte jetzt nach Möglichkeit, dass die Daten der Felder Anrede und Vorname von Tabelle A automatisch in die Felder von Tabelle B übernommen werden, bzw. angezeigt werden. Wie bekomm ich das hin?
Hallo,

Dein Problem bedarf noch zusätzlicher Erläuterungen:
  • Sind die Tabellen in der gleichen Datenbank enthalten? Wenn nicht, dann gibt es unter Interbase AFAIK keine direkte Möglichkeit.
  • Geht es um dauerhafte Übernahme oder nur um eine Anzeige? Je nachdem sind die Lösungen unterschiedlich.
Eine Lösung für die einfache Anzeige, dabei werden beide Tabellen gemeinsam angezeigt:
SQL-Code:
SELECT * FROM TabelleA
UNION
SELECT * FROM TabelleB
Eine Lösung für die gemischte Anzeige:
SQL-Code:
SELECT a.Anrede, a.Vorname, a.Nachname, b.Vorname, b.Nachname
  FROM TabelleA a
  JOIN TabelleB b ON a.id = b.id
Eine Lösung für die Datenübernahme:
SQL-Code:
UPDATE TabelleA a
   SET a.Vorname = (SELECT b.Vorname FROM TabelleB b where a.id = b.id),
       a.Nachname = (SELECT b.Nachname FROM TabelleB b where a.id = b.id)
Dies funktioniert (getestet mit IBExpert). Es könnte auch sein, dass der Ausführungsplan gut genug läuft; es könnte aber sicher noch Besseres geben.

Gruß Jürgen

PS. Bitte um Entschuldigung: ich habe die Codes nur einfach so hingeschrieben.
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat