Moin!
SELECT Gewicht * Preis /1000 AS Erloese, tour_ID, Verladedatum, Kunde, Verladebetrieb, Lieferscheinnummer,Gewicht,touren.Entladewerk, Abgerechnet, Kennzeichen, Sondertour
FROM touren_kunden AS touren, touren AS touren_kunden
Gibt es einen Sinn, warum du der einen Tabelle den Namen der anderen Tabelle und der anderen Tabelle den Namen der einen Tabelle gibst? Warum überkreuz die Namen austauschen? Ist doch nur unnütz kompliziert und verwirrend hinterher, weil du nicht mehr sicher weißt, ob die Spalte des Alias "touren" jetzt tatsächlich zur Tabelle "touren" oder zu "touren_kunden" gehört.
Dieses Überkreuzmanöver signalisiert jedenfalls sehr eindeutig, dass du noch etwas in den Kinderschuhen steckst mit deinem SQL.
WHERE touren.Verladewerk = touren_kunden.Verladewerk
AND touren.Entladewerk = touren_kunden.Entladewerk
AND Lieferscheinnummer = '$T1'den Verdienst den die entsprechende Tour gebracht hat auswerfen lassen.
Wie kann ich denn nun mit der eingabe einer Lieferscheinnummer die Spalte Erloese updaten mit dem Wert der errechnet wurde.
UPDATE tabellenname SET spalte = wert WHERE bedingung
In deinem Fall:
tabellenname = "touren" oder "touren_kunden"
spalte = "erloese"
wert = deine Rechnung
bedingung = "tour_id = die-tour-id aus dem SELECT-Ergebnis"
Mit anderen Worten: Du hast (solltest du, wenn das nicht der Fall ist, in jedem Fall anlegen) ein ID-Feld, welches unabhängig von irgendwelchen anderen Daten jedem Datensatz eine eindeutige Nummer zuordnet. Da du im SELECT diese ID mit abfragst und parallel auch dein Erlös-Ergebnis, kannst du diese beiden Angaben perfekt nutzen, um damit einen ganz einfachen UPDATE zu generieren.
Bedenke aber: Mehrfache UPDATEs kosten Performance. Wenn du die gesamte Tabelle durchrechnen lassen willst, dann kannst du das auch mit einem einzigen Statement erledigen:
UPDATE touren SET erloese = 0
Das setzt alle Erlös-Angaben der gesamten Tabelle auf Null. Anstelle der Null kannst du auch eine Berechnung mit den Werten aus anderen Spalten dieses Datensatzes durchführen:
UPDATE touren SET erloese = Gewicht * Preis /1000
Das rechnet für alle Datensätze jeweils den Erlös aus und speichert ihn in der Spalte "erloese".
- Sven Rautenberg