select a.productcd,
sum(case when a.enddate like '2007-06%' then a.handoverqty else 0 end) as bphandoverqty
from prog101 a join prod007 b on a.progresscd=b.prog_cd and a.requestno = b.requestno and
a.seqno=b.seqno
and a.batchno=b.batchno and a.prognum=b.prog_num
join base110 c on a.productcd = c.productcd
join base005 d on a.progresscd = d.prog_cd
where a.enddate like '2007-06%'
and a.prognum <= (select prognum -2 as prognum from prog101 where progresscd='0099')
and d.inputtype=1
group by a.productcd
having max(a.prognum) <= (select prognum -2 as prognum from prog101 where progresscd='0099')
여기서 조건인 prognum 을 가장 큰 값을 가져 와야 합니다.
즉 조건에서 prognum 의 max 값을 가져 와야 하는데요....
having 절을 이용했습니다. ---> 맞는지 모르겠습니다 (?)
그리고 having 절 조건은 <=을 이용해야 하는 하위쿼리에서 여러 값을 반환 할수 없다는 메시지가 뜹니다.
해결할 방법이 없을까요?
감사합니다.
|