dbms7 [mybatis] 동적 쿼리 집계 쿼리 예시 조회구분에 따라 년 또는 월로 그룹핑해서 집계를 구하는 예시 SELECT DATE_FORMAT(FRST_REG_DT, '%Y') || '년' AS searchMon/*년*/ DATE_FORMAT(FRST_REG_DT, '%M') AS searchMon/* 월 */ DATE_FORMAT(FRST_REG_DT, '%M') AS searchMon/* 월 */ , COUNT(code) AS searchTotalCnt , COUNT(CASE WHEN code = '10' THEN 1 END) AS searchPassedCnt , COUNT(CASE WHEN code = '20' THEN 1 END) AS searchRejectedCnt FROM TEST_BOARD TO_CHAR(FRST_REG_DT, 'YYYY-.. IT/development 2024. 2. 25. [mybatis] list foreach delete 목차 화면에서 체크박스에 체크된 데이터 중 회원번호를 담아서 서버로 전달, delete query에서 IN절로 처리 view function deleteData() { if (confirm("삭제 하시겠습니까?")) { //선택된 row 배열 var selectedRows = []; //table의 td제일 앞에 checkbox란 id를 가진 엘리먼트에서 회원번호 가져옴 $("input[id='checkbox']:checked").each(function () { var rowData = { 'num': $(this).closest('tr').find('#num').text(), //회원번호 } selectedRows.push(rowData); }); $.ajax({ url: '/info/delete.d.. IT/development 2024. 1. 21. [cubrid] 서브 쿼리 별칭 사용 시 주의점 cubrid 서브쿼리 별칭 사용 시 LIST는 예약어니까 사용하지 말자아래 쿼리는 Oracle DBMS에서는 정상 동작하지만 cubrid에서는 syntax error가 발생한다.SELECT LIST.* FROM ( SELECT EMP_SNO , EMP_ID , EMP_EMAIL , EMP_HP FROM EMP_INFO_L ) LIST;삽질을 꽤나 했는데 큐브리드 공식문서 찾아보니 LIST가 예약어로 되어있다. [linux] 리눅스에 cubrid 설치(feat. cubrid 11.2 ver)지난주 리눅스 서버에 cubrid DBMS를 설치 했기에 메모한다. 설치할 때 캡처를 하지 못한 관계로 기억을 더듬어 프로세스 위주로 기록한다. 1. 리눅스 서버에 jdk를 설치/환경변.. IT/DataBase 2024. 1. 13. [mybatis] dynamic query template 나중에 내가 사용하기 위해 동적 쿼리 template을 기록한다. AND B.CODE IS NULL AND B.CODE IS NOT NULL AND C.CODE = 'A' AND C.CODE = 'D' AND C.CODE = 'P' AND B.CODE = #{entrprsSeCd} AND A.MBTLNUM LIKE '%' || #{mbtlnum} || '%' AND A.MBER_NM LIKE '%' || #{mberNm} || '%' 위 동적쿼리는 이렇게 작동한다. 를 통해 넘어온 parameter의 조건 일치여부에 따라 AND절을 동적으로 추가 또는 생성 예를 들면 다음과 같다. 1. mberGubun값만 'GNR'인 경우(일반회원만) //SELECT 절 생략 WHERE B.CODE IS NULL(원래.. IT/development 2023. 12. 24. [Oracle] N개월후까지 날짜 구하기 (feat. Connect by level) WITH calendar AS ( SELECT TO_CHAR(TO_DATE('20231201') + LEVEL - 1, 'YYYYMMDD') AS dt FROM dual CONNECT BY LEVEL IT/DataBase 2023. 12. 3. [Oracle] ORDER BY 시 조건 처리 회원 테이블 정렬 시 아래처럼 조건으로 순위를 부여할 수 있음(다양하게 응용 가능) /* 사용자 아이디가 'l'로 시작하는 데이터를 우선순위로 한 다음 이름 오름차순 정렬 */ SELECT ROW_NUMBER() OVER( ORDER BY CASE WHEN USER_ID LIKE 'l%' THEN 1 ELSE 2 END , A.USER_NAME ) AS rn , A.USER_ID , A.USER_NAME , A.USER_EMAIL FROM USER_INFO A ; IT/DataBase 2023. 9. 24. [Oracle] 가장 마지막 row 조회(feat. partition by) 1:N의 관계에서 N쪽의 데이터가 여러 row가 있을 경우 가장 마지막 row만 조회 SELECT EMP_ID /* 아이디 */ , EMP_POSITION_CD /* 직급코드 */ , EMP_ROLE_CD /* 직책코드 */ FROM ( SELECT EMP_ID , EMP_POSITION_CD , EMP_ROLE_CD , ROW_NUMBER() OVER(PARTITION BY EMP_ID ORDER BY H_SNO DESC) AS RowIdx FROM EMP_INFO_HISTORY ) WHERE RowIdx = 1 IT/DataBase 2023. 8. 7. 이전 1 다음