2016-06-09 2 views
0
Select AdClick.AdMonth AS DATE, 
(SELECT SUM(AdBudget) FROM AdBudget GROUP BY AdMonth)/
(SELECT SUM(AdClicks) FROM AdClick, AdReport 
WHERE AdReport.AdSourceID != 4 
AND AdReport.AdSourceID = AdClick.AdSourceID 
GROUP BY AdMonth) AS CPC 
FROM AdClick, AdBudget, AdReport 
WHERE AdClick.AdYear = '2016' 
GROUP BY AdClick.AdMonth 

하여 여러 값을 나눈 SUM(AdBudget)SUM(AdClicks) 달을 분리하는 테이블에 부착 AdMonth 값을 가지고,하지만 난 같은 달 값이 합계를 분할해야합니다. 하위 쿼리의 여러 값을 여러 값으로 다른 하위 쿼리로 나눌 수 없기 때문에 그룹화가 작동하지 않습니다. AdMonth 1의 합계와 AdMonth 1의 합계를 합계 2로 나눌 수있는 방법이 있습니다. 2 ...?SQL - 여러 개의 값

FYI : 코드를 사용하여 ColdFusion 차트를 만들었지 만 이러한 쿼리는 ColdFusion 문서에서 호출되므로 차트와 함께 작동하는 ColdFusion 솔루션이 테이블에서 벗어나지 않습니다.

답변

1

이렇게해야합니다. 내부 개월 월, 소스 ID 및 그룹에 함께 테이블을 조인 :

나도 같은 AdMonth이있는 금액을 분할해야
SELECT AdClick.AdMonth AS `DATE` 
     , SUM(AdBudget.AdBudget) 
     , SUM(AdClick.AdClicks) 
     , SUM(AdBudget.AdBudget)/SUM(AdClick.AdClicks) 
FROM AdClick 
      INNER JOIN AdBudget ON AdClick.AdMonth = AdBudget.AdMonth 
      INNER JOIN AdReport ON AdReport.AdSourceID = AdClick.AdSourceID 
WHERE AdClick.AdYear = '2016' 
AND  AdReport.AdSourceID != 4 
GROUP BY AdClick.AdMonth 
+0

, 당신은 코드에 그것을 추가 할 수 있습니다? –

+0

답변을 업데이트했습니다 .. – scaisEdge

+0

고마워요! cfloops를 사용하여 문제를 해결했지만 대답에 감사드립니다. –