개발/MSSQL
-
여러 행의 데이터를 한 칼럼에 담기개발/MSSQL 2018. 1. 26. 18:04
IDX NAME 1 A 1 B 1 C 2 B 2 D [ 테이블명 : TB_NAME ] 위 테이블을 아래와 같이 출력하고 싶다.* 구분자 ,는 변경 가능. IDX NAME 1 A,B,C 2 B,D SELECT DISTINCT IDX,STUFF( (SELECT ',' + NAME FROM TB_NAME A WHERE A.IDX = B.IDXFOR XML PATH('')),1,1,'') AS NAMEFROM TB_NAME B STUFF(STRING,1,1,'')- 맨 앞 문자 한개 제거 https://docs.microsoft.com/ko-kr/sql/t-sql/functions/stuff-transact-sql STUFF 함수 STUFF ( character_expression , start , length..
-
월별 데이터 조회하기개발/MSSQL 2018. 1. 16. 17:30
월별로 데이터 조회하는 방법 - 함수[날짜 및 시간] DATEPART( datepart, date) 1) datepart 날짜 부분 약어 연도 yy, yyyy 분기 qq, q 월 mm, m 주 ww, wk 일dd, d 2) date 타입 데이터 3) 반환값은 정수(날짜 또는 시간 값) 4) 예제 SELECT DATEPART(MM, SDATE), TITLEFROM TABLEGROUP BY DATEPART(MM, SDATE), TITLEORDER BY DATEPART(MM, SDATE)
-
1대N 조인시 N측 테이블 데이터는 한개만 가져오기.개발/MSSQL 2018. 1. 16. 17:16
1 : N의 관계인 테이블 A와 B를 INNER JOIN 할 때, 테이블 B의 데이터는 한개만 가져오고 싶을 때,예)TABLE_A(IDX INT,TITLE VARCHAR) TABLE_B(IDX INT,A_IDX INT,DATE DATETIME) TABLE_A1 aa2 bb3 cc TABLE_B1 1 2017-11-122 1 2018-10-023 1 2019-01-224 2 2018-01-125 2 2018-05-126 3 2018-07-23 [ 원하는 출력 ]1 2019-01-222 2018-05-123 2018-07-23 SELECT A.IDX, MAX(B.DATE) FROM TABLE_A AS AINNER JOIN TABLE_B AS B ON A.IDX = B.A_IDXGROUP BY A.IDX