Verschachtelte Unterabfragen funktionieren nicht

HMRLL

Neuer Benutzer
Beiträge
1
Hallo,
als Anfänger versuche ich mich an einer verschachtelten Unterabfrage, die nicht funktionieren will. Wahrscheinlich habe ich einen Denkfehler, den ich nicht erkenne. Ich habe mit PHPMyAdmin eine kleine Testdatenbank erstellt mit einer Tabelle "test" und 2 Spalten. Eine Spalte als Zeilen id und eine Spalte mit Integer-Zahlen.
Mein Ziel ist es, zunächst in der zweiten Unterabfrage den Mittelwert der Spalte "zahl1" zu errechnen, in der ersten Unterabfrage diesen errechneten Mittelwert von den Zahlen abzuziehen und in der äußeren Abfrage dann zu diesem Ergebnis "27" hinzuzuaddieren.
Die Berechnung des Mittelwertes funktioniert, die erste Unterabfrage (Subtraktion des Mittelwertes vom Zahlenwert) funktioniert. Die äußere Abfrage, die Addietion von "27" zu dem vorherigen Ergebnis funktioniert nicht.
Mein Code:
SELECT `zaehler` + 27 AS `Ergebnis`
FROM `test`,
(SELECT `zahl1`, (`zahl1` - `mw`) AS `zaehler`
FROM `test`,
(SELECT AVG(`zahl1`) AS `mw`
FROM `test`) AS `t2`);

Ausgabe PHPMyAdmin:
SELECT `zaehler` + 27 AS `Ergebnis`<br>FROM `test`,<br>(SELECT `zahl1`, (`zahl1` - `mw`) AS `zaehler`<br>FROM `test`,<br>(SELECT AVG(`zahl1`) AS `mw`<br>FROM `test`) AS `t2`) LIMIT 0, 25
#1064 - Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen bei 'LIMIT 0, 25' in Zeile 6

Wo liegt mein Fehler?
Danke für Hinweise
Martin
 
Werbung:
SELECT `zaehler` + 27 AS `Ergebnis`<br>FROM `test`,<br>(SELECT `zahl1`, (`zahl1` - `mw`) AS `zaehler`<br>FROM `test`,<br>(SELECT AVG(`zahl1`) AS `mw`<br>FROM `test`) AS `t2`) LIMIT 0, 25
So gibt phpmyadmin das aus?
Woher kommen die breaks?

Also das Statement ist zwar ungewöhnlich formuliert, aber ich sehe keine groben Fehler (wenn man mal vom HTML Dreck dazwischen absieht).
Du könntest für alle selects einen Alias spendieren, ich weiß nicht wie pingelig mysql da ist.
Du könntest das Statement mal in einem Editor "reinigen", falls Du es irgendwo aus dem Netz von einer Webseite kopiert hast, html copy paste kann schon mal gemein sein, mit Sonderzeichen die da nicht reingehören.
Du könntest eine Datenbank nutzen, die besser formulieren kann, was eigentlich ihr Problem ist.
 
Zurück
Oben