access 쿼리를 ms sql 로 바꿀려고 하는데
access에서는 된느데 ms sql에서는 안되는데 아시는 분 계시면 가르침 주시면 고맙겠습니다.
select b.client, c.name, sum(a.ccnt * a.unit_price) as sell_sum from
(((
select a.sell_no, a.serial_no, a.unit_price,
case when a.cnt is null then '0' else a.cnt end as acnt,
case when b.pcnt is null then '0' else b.pcnt end as bcnt,
(a.cnt-b.pcnt) as ccnt from selld009 a left join
(select sell_no, serial_no, sum(cnt) as pcnt from sunchul009
group by sell_no, serial_no) b on a.sell_no = b.sell_no and a.serial_no = b.serial_no
where a.sell_no is not null
) a left join sellm009 b on a.sell_no = b.sell_no)
left join client c on b.client = c.client)
left join salesman d on b.salesman = d.salesman
where ccnt <> 0
and b.sell_date between '20040101' and '20041231'
and b.gubun = '4'
and b.sunchul_end <> 'Y'
group by b.client, c.name
union all
select b.client, c.name, sum(a.ccnt * a.unit_price) as sell_sum from
(((
select a.sell_no, a.serial_no, a.unit_price,
case when a.cnt is null then '0' else a.cnt end as acnt,
case when b.pcnt is null then '0' else b.pcnt end as bcnt,
(a.cnt-b.pcnt) as ccnt from selld008 a left join
(select sell_no, serial_no, sum(cnt) as pcnt from sunchul008
group by sell_no, serial_no) b on a.sell_no = b.sell_no and a.serial_no = b.serial_no
where a.sell_no is not null
) a left join sellm008 b on a.sell_no = b.sell_no)
left join client c on b.client = c.client)
left join salesman d on b.salesman = d.salesman
where ccnt <> 0
and b.sell_date between '20040101' and '20041231'
and b.gubun = '4'
and b.sunchul_end <> 'Y'
group by b.client, c.name
여기까지는 되는데 여기다가 위에다
select * from (
밑에다
)
이렇게 붙이면 뭔가 잘못되었다고 하는데 똑같은 쿼리가
액세스에서는
지가 ms sql은 사용않해봤는데... ms에서는 지원이 않되는것같네요...
함수같은것도 DB마다 약간씩차이가 있습니다. 우선 ms sql에서 지원되는지 부터 알아보세요...
인라인뷰가 참편하게 썼는데 저도 지금은 인포믹스쓰다보니 약간의 편법?으로 사용하거든요
인포믹스에서는 인라인뷰가 지원이 않되어서 템프테이블을 생성시켜서 비스므리하게 사용하고있거든요...
즐프하세요...