본문 바로가기

SQL15

[SQLGate 오류] CREATE DATABASE가 실패했습니다. 나열된 일부 파일 이름을 만들 수 없습니다. 오류 상황 분명 권한이 같은 아이디인데, 어떤 서버에는 DB 생성이 가능하고 다른 서버에는 안 되는 문제가 있다. 오류 메시지 CREATE DATABASE가 실패했습니다. 나열된 일부 파일 이름을 만들 수 없습니다. 관련 오류를 확인하십시오. 물리적 파일 '/var/opt/mssql/data/master.mdf\name.mdf'을(를) 열거나 만드는 중 CREATE FILE에서 운영 체제 오류 3(지정된 경로를 찾을 수 없습니다.)이(가) 발생했습니다. 오류 원인 SQLGate라는 툴 자체가 파라미터를 넘길 때 문제를 발생시킨다고 한다. 해결법 Microsoft SQL Server Management Studio(MSSM) 라는 툴을 깔아주고 같은 서버의 같은 아이디로 로그인해 DB를 생성한다. 2020. 3. 23.
[SQL] 페이징하기 : 페이지마다 특정 개수의 글목록 불러오는 쿼리 예제 : 페이지에 글을 10개씩 보여줄 때, 1페이지 1. 페이지를 변경하고 싶으면 첫줄 @PAGE INT = 1 의 1을 원하는 페이지 수로 변경 2. 페이지 당 보여주는 글 개수를 변경하고 싶으면 마지막 줄 ((@PAGE-1)*10)+1 AND (@PAGE*10) 의 10을 원하는 수로 변경 DECLARE @PAGE INT = 1 SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY WRITE_DATE) AS RNUM, A.* FROM TABLENAME A WHERE BOARD_ID = '0001' ) A WHERE RNUM BETWEEN ((@PAGE-1)*10)+1 AND (@PAGE*10) 실전 : 게시판용 순번을 역순으로 보여줘야 할 필요가 있을 때 사용. .. 2020. 3. 18.
[SQL] 데이터에 넘버링하기 1. ROW_NUMBER() 일반적인 넘버링. 기준 컬럼(ORDER BY 다음에 오는 컬럼)의 값이 같은 값이라도 다른 행이면 다른 넘버를 주므로 넘버링 시 중복되는 숫자가 없다. 행 RNUM 기준 컬럼명 1 1 바나나 2 2 사과 3 3 사과 4 4 딸기 SELECT ROW_NUMBER() OVER (ORDER BY 컬럼명1, 컬럼명2, ...) AS RNUM, * FROM 테이블명; 2. RANK() 기준 컬럼의 값이 겹칠 경우 같은 넘버를 주고, 겹치지 않으면 해당 행의 넘버를 줌. 예를 들어 같은 값이 두 개고 다음 레코드의 값이 다르면 이 레코드는 넘버 4. 행 RNUM 기준 컬럼명 1 1 바나나 2 2 사과 3 2 사과 4 4 딸기 SELECT RANK() OVER (ORDER BY 컬럼명) .. 2020. 3. 12.
[DB Query] SELECT 결과에 따라 조건문 바꾸기 SELECT 데이터 조회 결과에 따라 WHERE 조건문을 바꾸고 싶을 때 쓰는 코드. 예제 EXAMPLE 데이터 레코드의 WRITE_GBUN(게시글 구분)이 '1'이라는 특정값일 때를 제외하곤 USER_ID(작성자 id) 조건을 주지 않고 검색하고 싶을 경우. SELECT BOARD_ID, TEAM_ID, WRITE_SEQ, USER_ID, USER_NAME, SUBJECT, WRITE_DESC, WRITE_GBUN FROM WRITING WHERE BOARD_ID = #{boardId} AND ( (WRITE_GBUN = '1' AND USER_ID = #{writer}) OR (WRITE_GBUN != '1') ) ORDER BY CHAT_SEQ, TEAM_ID WHERE절에 AND를 추가해주고 이어.. 2020. 3. 3.
[SQL] decode() 함수 기본형 decode(조건, 값, 일치할때, 아닐때) else if형 decode(조건, 값1, 일치할때, 값2, 일치할때, 아무것도 일치하지 않을 때) ex. decode(조건, '1', 'Y', '2', 'S', 'N') decode(컬럼명(해당 레코드의 값), '1', 'none', 'combo') 2020. 2. 14.
쿼리문 하나에서 두 개의 COUNT 조회하기 SELECT COUNT(조건문), COUNT(조건문) FROM info_table; 2020. 1. 29.