Die Klammer habe ich so aus dem Buch "jetzt lerne ich PHP 5 & MySQL 4.1 von Markt und Technik.
Was ich bezwecke?
http://www.sql-und-xml.de/sql-tutori...er-zeilen.html
Tabelle1 und Tabelle2
In der ersten habe ich eine ID als Primärschlüssel, einen Namen und eine Spalte "anzahl". In der Tabelle 2 habe ich dieselbe ID und die eine numerische Anzahl.
Jetzt möchte ich aus den Tabelle 2 die Numerische Zahl in die Tabelle1 reinschreiben und zwar dort, wo die IDS übereinstimmen. Um beide Tabellen anzusprechen brauche ich Joins.
Meinem verständnis nach:
Auch wenn die innere SQL-Abfrage funktioniert, so funktioniert das gesamte Update-Befehl nicht.
Deshalb bitte ich um Hilfe. Ich kenne mich nun mal nicht so aus, dass ich auf die Lösung von allein kommen könnte, trotz Ihrer Hinweise.
Was ich bezwecke?
http://www.sql-und-xml.de/sql-tutori...er-zeilen.html
Update einer Tabelle mit JOIN (ANSI, Ms-SqlServer)
UPDATE <Tabelle | View>
SET <Name einer Spalte> = <Ausdruck aus Spalten,
Konstanten, Funktionen>
[, weitere Spaltennamen = Ausdruck]
[FROM <Tabelle> [INNER | LEFT | RIGHT] JOIN <Tabelle>
ON <Spalte-1 = Spalte-2>]
WHERE <Bedingung>
UPDATE <Tabelle | View>
SET <Name einer Spalte> = <Ausdruck aus Spalten,
Konstanten, Funktionen>
[, weitere Spaltennamen = Ausdruck]
[FROM <Tabelle> [INNER | LEFT | RIGHT] JOIN <Tabelle>
ON <Spalte-1 = Spalte-2>]
WHERE <Bedingung>
In der ersten habe ich eine ID als Primärschlüssel, einen Namen und eine Spalte "anzahl". In der Tabelle 2 habe ich dieselbe ID und die eine numerische Anzahl.
Jetzt möchte ich aus den Tabelle 2 die Numerische Zahl in die Tabelle1 reinschreiben und zwar dort, wo die IDS übereinstimmen. Um beide Tabellen anzusprechen brauche ich Joins.
Meinem verständnis nach:
PHP-Code:
UPDATE t1 SET t1.anzahl = (Wert aus einer anderen Tabelle wo t1.id=t2.id)
Where (Bedingung unter der in die t1 in die spalte anzahl etwas geschrieben wird, also where INNER JOIN t2 ON t1.id=t2.id)
Deshalb bitte ich um Hilfe. Ich kenne mich nun mal nicht so aus, dass ich auf die Lösung von allein kommen könnte, trotz Ihrer Hinweise.
Kommentar