MySQL 4.1: mit berechneten Werten weiter rechnen
Twilo
- datenbank
Hallo,
kann man unter MySQL 4.1 mit berechneten Werten irgendwie weiter rechnen?
In Access ist z.B.Select 1+2 AS wert, wert*1.1
folgendes möglich, unter MySQL 4.1 erhalte ich eine Fehlermeldung
#1054 - Unknown column 'wert' in 'field list'
geht soetwas in der neuen MySQL 5 Version?
mir würde auch ein Stichwort reichen, wonach ich suchen könnte :)
mfg
Twilo
echo $begrüßung;
kann man unter MySQL 4.1 mit berechneten Werten irgendwie weiter rechnen?
mir würde auch ein Stichwort reichen, wonach ich suchen könnte :)
geht soetwas in der neuen MySQL 5 Version?
Ja, da auch.
Beispiel gefällig? SELECT @x:=42 AS test, @x + 1 AS test2
echo "$verabschiedung $name";
Hallo,
kann man unter MySQL 4.1 mit berechneten Werten irgendwie weiter rechnen?
mir würde auch ein Stichwort reichen, wonach ich suchen könnte :)
geht soetwas in der neuen MySQL 5 Version?
Ja, da auch.
Beispiel gefällig? SELECT @x:=42 AS test, @x + 1 AS test2
ok, ist zwar etwas umständlicher, aber sicherlich ebsser, als wenn man eine ziemlich lange Formel öfters hinschreiben muss
wenn man mehrere gleiche Berechnungen durchführt, wird die jedesmal neu berechnet, oder merkt MySQL, dass er das gerade schon berechnet hat und verwendet dann das vorherige Ergebnis?
Vielleicht kannst du folgende Frage noch bearbeiten
wird dieser Syntax nur von MySQL untrstützt, oder können das noch andere Datenbanken
ACCESS und MSSQL EXPRESS kann ich nächste Woche testen
mfg
Twilo
echo $begrüßung;
wenn man mehrere gleiche Berechnungen durchführt, wird die jedesmal neu berechnet, oder merkt MySQL, dass er das gerade schon berechnet hat und verwendet dann das vorherige Ergebnis?
Kann ich dir nicht sagen, weiß ich nicht. Probier es aus :-)
Vielleicht kannst du folgende Frage noch bearbeiten
wird dieser Syntax nur von MySQL untrstützt, oder können das noch andere Datenbanken
Auch diese Frage kann ich nicht beantworten.
echo "$verabschiedung $name";
Hiho,
danke für deine Antwort. ich habe mysql im einsatz und somit konnte ich dein beispiel aus dem anderen forum übernehmen. nun ist es bei mir etwas seltsam. Die werte die da drin abgelegt werden, stimmen nicht mit dem überein, was im query ausgegeben wird. hab ich noch was falsch gemacht?
SELECT
request5_2_1.id,
COUNT(task5_2_1.id) AS tasks,
@waiting:= SUM(task5_2_1.state='Waiting') AS waiting,
@ready:= SUM(task5_2_1.state='Ready') AS ready,
@busy:= SUM(task5_2_1.state='Busy') AS busy,
@aborted:= SUM(task5_2_1.state='Aborted') AS aborted,
@failed:= SUM(task5_2_1.state='Failed') AS failed,
@finished:= SUM(task5_2_1.state='Finished') AS finished,
CASE
WHEN @failed>0 THEN 'Failed'
WHEN
@finished>0
AND (@ready=0 || @ready IS NULL)
AND (@busy=0 || @busy IS NULL)
AND (@aborted=0 || @aborted IS NULL)
AND (@waiting=0 || @waiting IS NULL)
THEN 'Finished'
WHEN
@waiting>0
OR @ready>0
OR @busy>0
OR @aborted>0
THEN 'Busy'
ELSE 'Ready'
END AS state
FROM request5_2_1
LEFT JOIN task5_2_1 ON task5_2_1.requestId = request5_2_1.id
WHERE request5_2_1.id IN (356, 357, 358, 359, 360, 361)
GROUP BY request5_2_1.id;
gruss