hiho,
danke für deine Antwort. Nun hab ich das problem dass ich in den variablen den falschen wert habe und ich nicht weiss warum. ich habe das gefühl dass sich die werte in der Spalte alle um eins nach unten verschoben haben. habe ich 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