update idms300 set pg_cnt =(select a.fr_pg-stuff(max(b.bub_cd+ b.sa_no+convert(varchar(10),b.fr_pg)),1,20,'') * 1 pg_cnt
from idms300 a left join idms300 b on a.sa_no > b.sa_no
where a.bub_cd = '000212'
and a.label_no = '00055'
group by a.sa_no,a.fr_pg, a.pg_cnt
order by a.sa_no,a.fr_pg)
where a.bub_cd = '000212'
and a.label_no = '00055'
와 같이 업데이트 처리를 하려고 합니다.
내부 select문은 에러없이 데이터가 여러건이 나옵니다.
그런데 업데이트 처리를 하면
'TOP을 함께 지정하지 않는 한 뷰, 인라인 함수, 파생 테이블, 하위 쿼리에서 ORDER BY 절을 사용할 수 없습니다.'
라는 오류가 뜹니다.
=(select a.fr_pg-stuff(max(b.bub_cd+ b.sa_no+convert(varchar(10),b.fr_pg)),1,20,'') * 1 pg_cnt
from idms300 a left join idms300 b on a.sa_no > b.sa_no
where a.bub_cd = '000212'
and a.label_no = '00055'
group by a.sa_no,a.fr_pg, a.pg_cnt
order by a.sa_no,a.fr_pg)
에서 order by는 필수이거든요..
처리하는 방법이 없을까요?
|