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