Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zwei Tabellen verschmelzen (https://www.delphipraxis.net/158425-zwei-tabellen-verschmelzen.html)

handson 17. Feb 2011 08:35

Datenbank: MySQL • Version: 5.0 • Zugriff über: Delphi/DAC

Zwei Tabellen verschmelzen
 
Hallo!

Ich stehe momentan auf'n Schlauch und komme nicht so recht weiter.

Problem:

Ich habe zwei identische Tabellen und 2 unterschiedlichen Datenbanken. Beide haben die Felder:
Nummer, Bestand1, Bestand2

In der ersten Datenbank stehen folgende Einträge

Nummer Bestand1 Bestand2
1 10 2
2 20 0

In der zweiten Datenbank:

Nummer Bestand1 Bestand2
1 10 1
2 20 2

Jetzt möchte ich gerne nur das Feld Bestand2 von der 2. DB in die 1. DB addieren.

Nun zu meiner Frage:

KLar kann ich das unter Delphi programmieren, das möchte ich aber nicht. Gibt es eine SQL-Anweisung um das direkt zu machen? Ich selber komme da im Moment nicht drauf, vielleicht kann mir da jemand helfen.
Vielen Dank!

Gruß,
Stephan

generic 17. Feb 2011 08:45

AW: Zwei Tabellen verschmelzen
 
Du kannst mit dem SQL-Befehl Update auch joins machen, um Daten aus anderen Tabellen zu nehmen.
Diese Daten braucht du dann doch nur auf addieren.

Schau mal in die Beschreibung/Syntax zum Befehl.
Probiere mal etwas mit dem Update Befehl herum, wenn du zu keine Lösung kommst, dann fummele ich dir ein Beispiel hin.

P.S. hab gerade gesehen, dass du von 2 verschieden Datenbanken die Daten haben willst. Ich weiß nicht ob das in MYSQL geht. Im MSSQL funktioniert so etwas.

Bummi 17. Feb 2011 08:47

AW: Zwei Tabellen verschmelzen
 
keine Ahnung ob MySql das unterstütz
Code:
update t1 
set t1.Bestand=t1.Bestand2 + t2.Bestand2
from t2 where t1.Nummer=t2.Nummer

omata 17. Feb 2011 11:05

AW: Zwei Tabellen verschmelzen
 
SQL-Code:
UPDATE schemaA.tablename
SET bestand2 = COALESCE(bestand2, 0) + (SELECT bestand2 
                                       FROM schemaB.tablename
                                       WHERE nummer = schemaA.tablename.nummer)

handson 17. Feb 2011 11:34

AW: Zwei Tabellen verschmelzen
 
Vielen Dank für die schnellen Antworten. Ich werde es gleich mal ausprobieren.

Gruß,
Stephan


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz