에 대한 도움말이 필요합니다. SELECT QUERY로 도움을 받으십시오. 나는 다음 표를 정확하게 합산하기를 원했습니다. 테이블은 여러 다른 테이블의 합성어입니다. 아마도 goup을 쉽게하기 위해 텍스트 대신 학생 이름에 id int 값을 추가 할 것입니다. 그러나 이것은 제 문제가 아닙니다.MYSQL QUERY (SUM)
나는 각 학생에 대해 결석 수업의 3 가지 유형을 합산하고자합니다. 하지만 내 SQL과 나는 매번 단 하나있어! 내가 도대체 뭘 잘못하고있는 겁니까? 나는 몇 가지 변화를 시도했지만 ..
SELECT DISTINCT (P.synthese_abs_schueler_name) AS synthese_abs_schueler_name,
SUM(A.synthese_sum) AS absent,
SUM(B.synthese_sum) AS nonexcused,
SUM(C.synthese_sum) AS tardive,
SUM(absent + nonexcused) AS totalabs,
FROM synthese_abs AS P
LEFT JOIN (SELECT synthese_abs_schueler_name,
synthese_abs_type,
synthese_abs_sum AS synthese_sum
FROM synthese_abs
WHERE synthese_abs_type = 1
AND synthese_abs_sum > 0
GROUP BY synthese_abs_schueler_name) AS A
ON A.synthese_abs_type = P.synthese_abs_type
AND A.synthese_abs_schueler_name = P.synthese_abs_schueler_name
LEFT JOIN (SELECT synthese_abs_schueler_name,
synthese_abs_type,
synthese_abs_sum AS synthese_sum
FROM synthese_abs
WHERE synthese_abs_type = 2
AND synthese_abs_sum > 0
GROUP BY synthese_abs_schueler_name) AS B
ON B.synthese_abs_type = P.synthese_abs_type
AND B.synthese_abs_schueler_name = P.synthese_abs_schueler_name
LEFT JOIN (SELECT synthese_abs_schueler_name,
synthese_abs_type,
synthese_abs_sum AS synthese_sum
FROM synthese_abs
WHERE synthese_abs_type = 3
AND synthese_abs_sum > 0
GROUP BY synthese_abs_schueler_name) AS C
ON C.synthese_abs_type = P.synthese_abs_type
AND C.synthese_abs_schueler_name = P.synthese_abs_schueler_name
ORDER BY P.synthese_abs_schueler_name
이것은 그 것이다 !!!! 정말 고마워. 좋아요. 쿼리가 내 것보다 훨씬 깔끔합니다. 나는이 깨끗한 해결책을보고 내 SQL 쿼리에 대한 몇 가지 작업을해야합니다. – Ameliore
@Ameliore 작동하는 경우 [* 수락 대답 : 어떻게 작동합니까? *] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235) –