SELECT MIN(CASE WHEN A.DOW = 1 THEN A.LEVEL END ) AS SUN
, MIN(CASE WHEN A.DOW = 2 THEN A.LEVEL END ) AS MON
, MIN(CASE WHEN A.DOW = 3 THEN A.LEVEL END ) AS TUE
, MIN(CASE WHEN A.DOW = 4 THEN A.LEVEL END ) AS WED
, MIN(CASE WHEN A.DOW = 5 THEN A.LEVEL END ) AS THU
, MIN(CASE WHEN A.DOW = 6 THEN A.LEVEL END ) AS FRI
, MIN(CASE WHEN A.DOW = 7 THEN A.LEVEL END ) AS SAT
FROM (
WITH RECURSIVE CALENDAR AS (
SELECT 1 AS LEVEL,
DAYOFWEEK(CONCAT('2023-04','-01')) AS DOW,
WEEK(CONCAT('2023-04','-01')) AS WOY
UNION ALL
SELECT CALENDAR.LEVEL +1,
DAYOFWEEK(CONCAT('2023-04','-',CALENDAR.LEVEL+1 )),
WEEK(CONCAT('2023-04','-',CALENDAR.LEVEL+1))
FROM CALENDAR
WHERE CALENDAR.LEVEL < DAY(LAST_DAY(CONCAT('2023-04','-01')))
)
SELECT * FROM CALENDAR
)A
GROUP BY A.WOY
ORDER BY A.WOY
;
'2023-04' 부분이 파라미터 #{param} 자리
==========================================결과

+ jsp에서 보여줄때
<div class="calendar">
<table>
<caption>일정 달력 - 날짜별 일정 확인 달력</caption>
<colgroup>
<col style="width:14.28%;" />
<col style="width:14.28%;" />
<col style="width:14.28%;" />
<col style="width:14.28%;" />
<col style="width:14.28%;" />
<col style="width:14.28%;" />
<col style="width:14.28%;" />
</colgroup>
<thead>
<tr>
<th scope="col">일</th>
<th scope="col">월</th>
<th scope="col">화</th>
<th scope="col">수</th>
<th scope="col">목</th>
<th scope="col">금</th>
<th scope="col">토</th>
</tr>
</thead>
<tbody>
<c:set value="${today}" var="today" />
<c:forEach var="result" items="${schedul}" varStatus="status">
<tr>
<fmt:formatNumber var="sun" minIntegerDigits="2" type="number" value="${result.sun}"/>
<c:set value="${year}${month}${sun}" var="dt" />
<td onclick="fn_open_schedule_add('<c:out value="${dt}" />');" <c:if test="${dt eq today}">class="sc_today"</c:if>>
<div class="cont" >
<span class="num" ><c:out value="${result.sun}"/></span>
<ul>
<c:forEach var="list" items="${schedulList}" varStatus="status">
<c:if test="${dt eq list.schdulBgnde}">
<li>
<a href="#" onclick="fn_open_shedule_Detail(<c:out value="${list.schdulSn}"/>)" >
<c:if test="${null ne list.schdulNm}"><p class="arrow_box"><c:out value="${list.schdulNm}"/></p></c:if>
<c:out value="${list.userNm}"/>
<c:out value="${list.schdulBeginTm}"/>-<c:out value="${list.schdulEndTm}"/> <c:out value="${list.schdulNm}"/>
</a>
</li>
</c:if>
</c:forEach>
</ul>
</div>
</td>
<fmt:formatNumber var="mon" minIntegerDigits="2" type="number" value="${result.mon}"/>
<c:set value="${year}${month}${mon}" var="dt" />
<td onclick="fn_open_schedule_add('<c:out value="${dt}" />');" <c:if test="${dt eq today}">class="sc_today"</c:if>>
<div class="cont">
<span class="num" ><c:out value="${result.mon}"/></span>
<ul>
<c:forEach var="list" items="${schedulList}" varStatus="status">
<c:if test="${dt eq list.schdulBgnde}">
<li>
<a href="#" onclick="fn_open_shedule_Detail(<c:out value="${list.schdulSn}"/>)" >
<c:if test="${null ne list.schdulNm}"><p class="arrow_box"><c:out value="${list.schdulNm}"/></p></c:if>
<c:out value="${list.userNm}"/>
<c:out value="${list.schdulBeginTm}"/>-<c:out value="${list.schdulEndTm}"/> <c:out value="${list.schdulNm}"/>
</a>
</li>
</c:if>
</c:forEach>
</ul>
</div>
</td>
<fmt:formatNumber var="tue" minIntegerDigits="2" type="number" value="${result.tue}"/>
<c:set value="${year}${month}${tue}" var="dt" />
<td onclick="fn_open_schedule_add('<c:out value="${dt}" />');" <c:if test="${dt eq today}">class="sc_today"</c:if>>
<div class="cont">
<span class="num"><c:out value="${result.tue}"/></span>
<ul>
<c:forEach var="list" items="${schedulList}" varStatus="status">
<c:if test="${dt eq list.schdulBgnde}">
<li>
<a href="#" onclick="fn_open_shedule_Detail(<c:out value="${list.schdulSn}"/>)" >
<c:if test="${null ne list.schdulNm}"><p class="arrow_box"><c:out value="${list.schdulNm}"/></p></c:if>
<c:out value="${list.userNm}"/>
<c:out value="${list.schdulBeginTm}"/>-<c:out value="${list.schdulEndTm}"/> <c:out value="${list.schdulNm}"/>
</a>
</li>
</c:if>
</c:forEach>
</ul>
</div>
</td>
<fmt:formatNumber var="wed" minIntegerDigits="2" type="number" value="${result.wed}"/>
<c:set value="${year}${month}${wed}" var="dt" />
<td onclick="fn_open_schedule_add('<c:out value="${dt}" />');" <c:if test="${dt eq today}">class="sc_today"</c:if>>
<div class="cont">
<span class="num" ><c:out value="${result.wed}"/></span>
<ul>
<c:forEach var="list" items="${schedulList}" varStatus="status">
<c:if test="${dt eq list.schdulBgnde}">
<li>
<a href="#" onclick="fn_open_shedule_Detail(<c:out value="${list.schdulSn}"/>)" >
<c:if test="${null ne list.schdulNm}"><p class="arrow_box"><c:out value="${list.schdulNm}"/></p></c:if>
<c:out value="${list.userNm}"/>
<c:out value="${list.schdulBeginTm}"/>-<c:out value="${list.schdulEndTm}"/> <c:out value="${list.schdulNm}"/>
</a>
</li>
</c:if>
</c:forEach>
</ul>
</div>
</td>
<fmt:formatNumber var="thu" minIntegerDigits="2" type="number" value="${result.thu}"/>
<c:set value="${year}${month}${thu}" var="dt" />
<td onclick="fn_open_schedule_add('<c:out value="${dt}" />');" <c:if test="${dt eq today}">class="sc_today"</c:if>>
<div class="cont">
<span class="num"><c:out value="${result.thu}"/></span>
<ul>
<c:forEach var="list" items="${schedulList}" varStatus="status">
<c:if test="${dt eq list.schdulBgnde}">
<li>
<a href="#" onclick="fn_open_shedule_Detail(<c:out value="${list.schdulSn}"/>)" >
<c:if test="${null ne list.schdulNm}"><p class="arrow_box"><c:out value="${list.schdulNm}"/></p></c:if>
<c:out value="${list.userNm}"/>
<c:out value="${list.schdulBeginTm}"/>-<c:out value="${list.schdulEndTm}"/> <c:out value="${list.schdulNm}"/>
</a>
</li>
</c:if>
</c:forEach>
</ul>
</div>
</td>
<fmt:formatNumber var="fri" minIntegerDigits="2" type="number" value="${result.fri}"/>
<c:set value="${year}${month}${fri}" var="dt" />
<td onclick="fn_open_schedule_add('<c:out value="${dt}" />');" <c:if test="${dt eq today}">class="sc_today"</c:if>>
<div class="cont">
<span class="num" ><c:out value="${result.fri}"/></span>
<ul>
<c:forEach var="list" items="${schedulList}" varStatus="status">
<c:if test="${dt eq list.schdulBgnde}">
<li>
<a href="#" onclick="fn_open_shedule_Detail(<c:out value="${list.schdulSn}"/>)" >
<c:if test="${null ne list.schdulNm}"><p class="arrow_box"><c:out value="${list.schdulNm}"/></p></c:if>
<c:out value="${list.userNm}"/>
<c:out value="${list.schdulBeginTm}"/>-<c:out value="${list.schdulEndTm}"/> <c:out value="${list.schdulNm}"/>
</a>
</li>
</c:if>
</c:forEach>
</ul>
</div>
</td>
<fmt:formatNumber var="sat" minIntegerDigits="2" type="number" value="${result.sat}"/>
<c:set value="${year}${month}${sat}" var="dt" />
<td onclick="fn_open_schedule_add('<c:out value="${dt}" />');" <c:if test="${dt eq today}">class="sc_today"</c:if>>
<div class="cont">
<span class="num" ><c:out value="${result.sat}"/></span>
<ul>
<c:forEach var="list" items="${schedulList}" varStatus="status">
<c:if test="${dt eq list.schdulBgnde}">
<li>
<a href="#" onclick="fn_open_shedule_Detail(<c:out value="${list.schdulSn}"/>)" >
<c:if test="${null ne list.schdulNm}"><p class="arrow_box"><c:out value="${list.schdulNm}"/></p></c:if>
<c:out value="${list.userNm}"/>
<c:out value="${list.schdulBeginTm}"/>-<c:out value="${list.schdulEndTm}"/> <c:out value="${list.schdulNm}"/>
</a>
</li>
</c:if>
</c:forEach>
</ul>
</div>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
'개발자 엽이' 카테고리의 다른 글
이클립스 git프로젝트 import 후 자바파일에 알수없는 엑박이 뜰때 (0) | 2023.07.25 |
---|---|
!모둠구이를 기억하라! (2) | 2023.05.04 |
OutOfMemoryError 에러 해결 개꿀 (0) | 2023.04.21 |
[수정완료_원인알아냄] 뭐 어쩌라는건지 모르겠네..? org/jboss/logging/BasicLogger (0) | 2023.04.17 |
pom.xml 에러 => Cannot find the declaration of element 'project'. (0) | 2023.04.10 |