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}&fileSn=${result.fileSn}" alt="" onerror="this.src='/publish/ft/images/sub/no_img.png'">
/publish/ft/images/sub/no_img.png
경로에 이미지 파일을 넣어주고 정상 작동
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
을 사용하는 방법
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 을 사용하는 게 좋다.