게시판 한페이지에 글 나오게 하는것입니다. 현재는 총4개를 먼저보여주도록 하는 코드입니다.
아래 이런 에러가 발생하는데 원인을 모르겠습니다.ㅠㅠ 게시판 페이징 쿼리입니다. 왜 그런지 알려주세요~
조인을 하다가 잘못된거같은데 ㅠㅠ 지적좀해주세요
ORA-00907: missing right parenthesis
select a.mem_no,a.mem_nam,a.mem_loc,a.phone,a.email,b.mem_id from(
select rownum rnum,a.mem_no,a.mem_nam,a.mem_loc,a.phone,a.email,b.mem_id from(
select
a.mem_no,
a.mem_nam,
a.mem_loc,
a.phone,
a.email,
b.mem_id
from
study_member a,
study member b
where
a.mem_no = b.mem_no(+)
order by
a.mem_no desc
)where rnum <=4
)where rnum >=1
Comment 2
-
건우아빠
2016.01.16 16:43
-
Terry
2016.01.16 16:54
오류가 나는 소지들을 파악해보죠..
1) study member b
-> study_member b 가 아닐지??
2) 하기 서브쿼리( view ) 에서 사용된 order by 절
-> 하기 서브쿼리( view ) 에서 order by 쓰이면 오류 날거에요.
MSSQL 기준으로 최상단 쿼리문에서 한번만 사용 가능하니까요..
(오라클은 안써봐서 모르겠네요 ㅡ,ㅡ...)
3) )where rnum <=4
-> Alias 를 준 곳에서 바로 Where 조건절에서 사용이 되는지요? 오류날건데요?
) where rownum <= 4
로 변경해보세요..
정리합니다.
1) study_member b 로 변경
2) order by 절 제거
-> 제거가 어려운 경우
row_number() over (order by a.mem_no desc) As rnum 으로 하부에서 하나 잡아주시고
그걸 ( ) 로 싸신 후에, where a.rnum <= 4 로 변경해주시면 될거에요..
그럼 성공하시길^^
인라인뷰에 alias 지정을 명확히 하시고 돌려보세여...
오라클은 디비가 좋아서 그런가요...
한단계씩 돌려보시면 될듯 합니다.