MySQL - 2 Tabellen berechnen

  • Ersteller Ersteller SGD-Daniel
  • Erstellt am Erstellt am
S

SGD-Daniel

Gast
Hallo,

ich habe eine Tabelle A und eine Tabelle B. Tabelle C soll das Ergebnis ausgeben. Wie mache ich das in PHP?

Tabelle C = Tabelle A - Tabelle B
 
Etwas mehr Info wäre von vorteil.

Wie sieht die Struktur der Tabellen aus? Welche Felder sollen berechnet werden?
Was ist der Primärschlüssel anhand dessen die ensprechenden Datensätze der beiden Tabellen zugeordnet werden können? Wie soll dir Struktur von Tabelle C aussehen?

Mit den Info könnte man dann was zusammenstückeln.

Grundsätzlich würde ich allerdings so vorgehen:

Die entsprechenden Werte abfragen und in ein Recordset nehmen
Dann in einer Loop die Werte subtrahieren und in die TabelleC schrieben

Beispiel:

$sql = "Select tabA.Wert as Wert1, tabB.Wert as Wert2, tabA.ID as ID from tabA left join tabB on tabA.id = tabB.id;"
$result = mysql_query($sql);
while($rs = mysql_fetch_array($result,MYSQL_ASSOC))
{
$ergebnis = $rs['Wert1'] - $rs['Wert2'];
$sql2 = "insert into TabC (ID, Ergebnis) values ($rs['ID'],$ergebnis);
$result2 = mysql_query($sql);
}


Keine Garantie auf syntaktische Richtigkeit ;)

Aber so auf die Art wäre mein ansatz.
 
Zuletzt bearbeitet:
hm... ich wei sned was du meinst , soll ausgeben wo die beiden tabellen gleich sind? oder addieren ?! oder wie oder was?
 
Gleiches Beispiel, nur etwas einfacher ;-)

Beispiel:

$sql = "Select wert1, wert2, id from tabelle;"
$result = mysql_query($sql);
while($rs = mysql_fetch_array($result,MYSQL_ASSOC))
{
$ergebnis = $rs['Wert1'] - $rs['Wert2'];
$sql2 = "Update tabelle sert wert3 = " . $ergebnis . " where id = " . $rs['ID'] . ";";
$result2 = mysql_query($sql);
}


Das sollte tun.
 
warum nicht gleich "Update Tabelle Set Wert3=Wert1-Wert2" ?

Okay das wäre aber ganz ohne php.
 
Zurück
Oben