728x90
-- 임시 테이블 생성
CREATE TABLE #TEST(
CODE NVARCHAR(1) NOT NULL,
PAGES INT NULL,
CONTENT NVARCHAR(10) NULL
)
-- 데이터 삽입
INSERT INTO #TEST VALUES ('A', 1, '안녕하세요');
INSERT INTO #TEST VALUES ('A', 2, '오늘은');
INSERT INTO #TEST VALUES ('A', 3, '맑은 날씨입니다.');
INSERT INTO #TEST VALUES ('B', 1, '근데 저는');
INSERT INTO #TEST VALUES ('B', 2, '더워요');
-- 전체 조회
SELECT * FROM #TEST
-- 단계별 TEST
SELECT CONTENT FROM #TEST FOR XML PATH('') -- XML형식으로 한 줄로 출력
SELECT '@' + CONTENT FROM #TEST FOR XML PATH('') -- 태그 없앰
-- STUFF(문자열, 시작점, 길이, 치환문자) : 문자치환함수
-- 맨앞 문자 제거(문자열 관련 함수 쓰면 타입 바껴서 링크 없어짐)
SELECT STUFF((SELECT '@' + CONTENT FROM #TEST(NOLOCK) FOR XML PATH('')), 1, 1, '')
-- 조건 더해준 최종
SELECT DISTINCT
A.CODE
, ISNULL(STUFF((
SELECT ' ' + CONTENT
FROM #TEST(NOLOCK)
WHERE A.CODE = CODE -- 묶을 기준 컬럼
FOR XML PATH('')), 1, 1, ''), '')
AS CONTENT
FROM
#TEST A(NOLOCK)
![]() |
728x90
'DataBase > MSSQL' 카테고리의 다른 글
[MSSQL] 이중 커서/중첩 커서(Nested Cursor)로 반복처리 예시 (0) | 2022.09.04 |
---|---|
[MSSQL] 특정문자 포함여부에 따라 다른 값 출력(IF, CASE) (0) | 2022.04.29 |
[MSSQL] dbo.테이블 (0) | 2022.04.06 |
[MSSQL] USP(Procedure) & UFN(Function) (0) | 2022.03.30 |
[MSSQL] ANSI(안시) Query (0) | 2022.03.25 |