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 을 사용하는 게 좋다.