2021/03/22 오늘 공부

songi Jeon·2021년 3월 22일
0

STUDY

목록 보기
6/8

오류

상황

2021-03-22 13:26:06,213 INFO com.open.cmmn.web.CmmnErrorController 페이지가 존재하지 않습니다.
2021-03-22 13:26:06,229 INFO com.open.cmmn.web.CmmnErrorController 페이지가 존재하지 않습니다.
2021-03-22 13:26:06,234 INFO com.open.cmmn.web.CmmnErrorController 페이지가 존재하지 않습니다.
2021-03-22 13:26:06,239 INFO com.open.cmmn.web.CmmnErrorController 페이지가 존재하지 않습니다.
2021-03-22 13:26:06,244 INFO com.open.cmmn.web.CmmnErrorController 페이지가 존재하지 않습니다.
2021-03-22 13:26:06,248 INFO com.open.cmmn.web.CmmnErrorController 페이지가 존재하지 않습니다.........중략

원인

onerror속성에 있는 경로에 no_img.png 파일이 존재하지 않았다.
더불어 개발자 모드로 보았다면 console.log에 이미지 못찾는다는 경고가 수도 없이 찍힐 것이다.

<img src="/atch/getImage.do?atchFileId=${result.atchFileId}&amp;fileSn=${result.fileSn}" alt="" onerror="this.src='/publish/ft/images/sub/no_img.png'">

해결

/publish/ft/images/sub/no_img.png 경로에 이미지 파일을 넣어주고 정상 작동


SQL

- MIN

			SELECT  
				  SEQ seq
				, TITLE title
				, CONT cont
				, DATE_FORMAT(RGST_DT,'%Y.%m.%d') rgstDt
				, RGST_ID rgstId
				, F_USER_NM(RGST_ID) name
				, ATCH_FILE_ID atchFileId
				, (
					SELECT MIN(file_sn)
					FROM T_ATCH_FILE_DETAIL b
					WHERE ATCH_FILE_ID = TS.ATCH_FILE_ID
				      AND b.DEL_YN='N'	
					ORDER BY SEQ
				) AS fileSn
		     FROM T_IMG_BOARD TS
			 WHERE USE_YN='Y';	

게시글 리스트에서 서브쿼리를 이용해 게시글이 첨부한 이미지 파일의 첫번째 시퀀스를 가져오는 쿼리이다.

이때, 위처럼 SELECT절에 MIN(컬럼)을 이용해 하는 방법,

서브 쿼리에서 단일 행만을 추출 하려면 제일 아래 라인에 LIMIT 1을 사용하는 방법

- LIMIT

			SELECT file_sn
			FROM T_ATCH_FILE_DETAIL b
			WHERE ATCH_FILE_ID = TS.ATCH_FILE_ID
				  AND b.DEL_YN='N'	
			ORDER BY SEQ
			LIMIT 1;

성능

하나의 값일 때 MIN을 사용하면 성능이 좋지만, 얼마 차이가 나지 않는다고
여러 컬럼을 나타내야 한다면 ORDERBY LIMIT 을 사용하는 게 좋다.

SQL참고사이트

profile
비전공자가 백엔드 개발자 도전하는 블로그

0개의 댓글