0
임을 기준으로이 합계를 계산하려고 시도했지만 다음 코드를 사용할 때 분명히 내 그룹에 일주일을 넣어야합니다. 즉 출력에 매주 한 코드가 있음을 의미합니다. 수많은. 하여 그룹에서 주를 사용하지 수있는 방법이 있나요처럼 지금은 보이는대로그룹에서 필드 사용하지 않기
cde channel 201305 201306 201307
rr1 2 0 0.6 1
어디처럼 그렇게 보인다 :
cde channel 201305 201306 201307
rr1 2 0 null null
rr1 2 null 0.6 null
rr1 2 null null 1
이 내 코드입니다
select cde,
case when week = '201305' then CAST((SUM(fin_acc_sum))AS FLOAT)/nullif(SUM(total),0) end as [201305],
case when week = '201306' then CAST((SUM(fin_acc_sum))AS FLOAT)/nullif(SUM(total),0) end as [201306],
case when week = '201307' then CAST((SUM(fin_acc_sum))AS FLOAT)/nullif(SUM(total),0) end as [201307],
channel
into #base2
from #acc_ref
group by cde,channel,week
order by channel,cde,week
감사합니다. 나는 '집합 또는 하위 쿼리가 포함 된 식에서 집계 함수를 수행 할 수 없습니다.'라는 메시지가 표시됩니다. – user1296762
@ user1296762 : SUM을 CAST 외부로 이동하십시오. – gbn