2013-08-05 3 views
0

후 MySQL은 SUM을 취득하는 것은이 여러 행을 생성합니다 내 쿼리수학 연산 여기

(SUM(dr.drv)/100)* 
    (st.suppliers1_value+st.suppliers2_value+st.suppliers3_value+st.suppliers4_value) 

의 일부입니다. 나는 그들 모두의 합계를 얻고 싶다. 시도했지만

SUM(SUM(dr.drv)/100)* 
    (st.suppliers1_value+st.suppliers2_value+st.suppliers3_value+st.suppliers4_value) 
    as total drv_amount 

오류가 발생합니다. 누군가 나를 올바른 방향으로 안내 할 수 있습니까? 당신은 항상 이런 식으로 뭔가 할 수

SELECT SUM(dr.tickets_sold) as tickets_total_amount, 
    SUM(dr.drv) as drv_total_amount, 
    FORMAT(((SUM(dr.drv)/100) * (st.suppliers1_value+st.suppliers2_value+st.suppliers3_value+st.suppliers4_value)),2) as supplier_commission, 
    FORMAT(((SUM(dr.drv)/100) * st.exhibitor_value),2) as exhibitor_commission, 
    FORMAT(((SUM(dr.drv)/100) * st.circuit_value),2) as distributer_commission, 
    FORMAT(((SUM(dr.drv)/100) * (st.suppliers1_value+st.suppliers2_value+st.suppliers3_value+st.suppliers4_value)+((SUM(dr.drv)/100) * st.circuit_value)),2) as film_hire_total 
FROM com_pro_dr as dr 
INNER JOIN com_pro_ratecard_rates AS rt 
    ON (dr.movie_id=rt.movie_id and 
     dr.theater_id=rt.theater_id and 
     dr.showtime_id=rt.showtime_id and 
     dr.category_id=rt.category_id and 
     dr.applied_date = rt.date_apply) 
INNER JOIN com_pro_ratecard as rc ON (rc.id=rt.ratecard_id) 
INNER JOIN com_pro_movie as m ON (m.id=dr.movie_id) 
INNER JOIN com_pro_theater as t ON (t.id=dr.theater_id) 
INNER JOIN com_pro_share as st ON (st.id=rc.share_id) 
INNER JOIN com_pro_theater_dr as td ON (td.theater_id=dr.theater_id) 
INNER JOIN com_pro_circuit as c ON (c.id =td.circuit_id) 
WHERE 1 
+0

을, 전체 쿼리를 게시 여기

은 전체 쿼리입니다 항상 도움이됩니다 – x4rf41

+0

st.suppliers1_value, st.suppliers2_value, st.suppliers3_value, st.suppliers4_value의 행이 여러 개 있기 때문입니다. 먼저 합치고 싶습니까? – ObieMD5

+0

전체 쿼리를 sqlfiddle.com에 게시 할 수 있습니까 – leonardeveloper

답변

1

: 당신이 2 SUM에 대한 (? 다른) GROUP BY 필요

SELECT SUM(val) 
FROM 
(
    SELECT (SUM(dr.drv)/100)* 
    (st.suppliers1_value+st.suppliers2_value+st.suppliers3_value+st.suppliers4_value) 
    AS val 
    /* the rest of your current query */ 
) AS a 
+0

게시했습니다. 대단히 감사합니다. – amilaishere