SQL-Befehl zwei Datenbanken mit abweichender ID vereinen

a_n_j_a

Neuer Benutzer
Beiträge
3
Ahoi,

ich hab hier ein für komplexeres Problem, dass ich alleine einfach nicht lösen kann.
Ich habe zwei Datenbanken. D1 und D2. In D1 sind die Kundennummern als ID (PK) von 1 an fortlaufend. In der D2 sind die Kundendaten anonymisiert und die Kundennummer (PK) beginnt erst bei 300.
Wie muss ich den SQL-Befehl gestalten, wenn ich möchte, dass die Kundennummer 1 in der D1, der Kundennummer 300 in der D2 entspricht?

Vielleicht hat jemand eine Idee, wie ich das lösen kann?
Wäre sehr dankbar :))

Grüßle, Anja
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.028
Ahoi,

ich hab hier ein für komplexeres Problem, dass ich alleine einfach nicht lösen kann.
Ich habe zwei Datenbanken. D1 und D2. In D1 sind die Kundennummern als ID (PK) von 1 an fortlaufend. In der D2 sind die Kundendaten anonymisiert und die Kundennummer (PK) beginnt erst bei 300.
Wie muss ich den SQL-Befehl gestalten, wenn ich möchte, dass die Kundennummer 1 in der D1, der Kundennummer 300 in der D2 entspricht?

Vielleicht hat jemand eine Idee, wie ich das lösen kann?
Wäre sehr dankbar :))

Grüßle, Anja

Kann es sein, daß Du mit datenbanken (d1, d2) eigentlich nur Tabellen meinst?

Dann vielleicht so:

Code:
test=*# select * from d1;
 id |  name
----+--------
  1 | kunde1
  2 | kunde2
  3 | kunde3
(3 rows)

test=*# select * from d2;
 id  |  name
-----+--------
 300 | kunde1
 301 | kunde2
 302 | kunde3
(3 rows)

test=*# select d1.*, d2.* from d1 left join d2 on d2.id=d1.id+299;
 id |  name  | id  |  name
----+--------+-----+--------
  1 | kunde1 | 300 | kunde1
  2 | kunde2 | 301 | kunde2
  3 | kunde3 | 302 | kunde3
(3 rows)

Andreas
 

ukulele

Datenbank-Guru
Beiträge
4.394
In beiden Fällen kannst du mit id1 = id2 + 300 (oder 299) vergleichen sofern die Nummern wirklich in der selben Reihenfolge und gleichmäßig hochgezählt wurden. Allerdings entspricht das in keinster Weise einer Anonymisierung denn es wäre ja für jeden nachvollziehbar...
 
Werbung:
Oben