mssql 쿼리 질문드립니다. 0 2 1,026

by 김이수 [DB 기타] [2015.08.17 15:05:08]


<!-- 조회 -->
	<select id="offListSearch" parameterType="Map" resultType="LMap" flushCache="true">	
		
		SELECT *
 			FROM(SELECT ROW_NUMBER() over(order by #{GROUP_NO} desc) as rownumber, T_HJD_CD_INFO AS H, T_FMY_SITUA AS F
 			WHERE H.DIVISION_CD = SUBSTRING(#{GROUP_NO},1,8)
		)T1		
		WHERE T1.rownumber BETWEEN #beginIndex# AND #endIndex#		

	</select>

이 상태에서 돌려보면 'T_HJD_CD_INFO' 근처의 구문이 잘못되었습니다. 이런 에러가 나옵니다.

페이징을 추가하기 전에는 괜찮았는데... 페이징을 추가해보려고 시도하니..저렇게 나오네요. 

(SELECT ROW_NUMBER() over(order by #{GROUP_NO} desc) as rownumber, 
)T1		
		WHERE T1.rownumber BETWEEN #beginIndex# AND #endIndex#	

이 부분이 페이징 입니다...잘못된 구문을 사용한건가요..?

by 마농 [2015.08.17 15:24:38]

1. 구문이 엉망인데요???
  - Select, From, Where 의 기본 구조가 엉망으로 뒤섞여 있네요.
2. Order By 구문에 왜 변수를 쓰나요?
  - 이렇게 사용할 이유가 없습니다.


by 김이수 [2015.08.17 15:31:38]

아.. 감사합니다 다시 차근차근 정리해서 제대로 된 구문에서 오류가 날 시 올리겠습니다~ 구문전체가..이상한것이었군요.. 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입