Computer/Databases
[MSSQL] 여러컬럼의 값을 하나의 컬럼으로 합치는 방법
인생이글케쉬우냐
2009. 6. 3. 15:50
갑작스럽게 나한테 도움을 요청해 왔다.
그런데 어떠한 도움을 주기도 전에 먼저 해결해버린 멋진 사원님..
좋은 정보다 싶어, 내가 직접 찾아낸 것은 아니지만 기억으로 저장을 잘 못하므로 여기에 적는다는...
하나의 테이블에 여러개의 컬럼이 있는데.. 특정 컬럼의 값이 동일한것들의 다른 컬럼들을 어찌 합치느냐는게 문제였다.
참조하는 ID가 같은 것들의 주소를 하나의 컬럼인것처럼 값을 저장하기 위한것이다.
이는 위의 그 사원님의 현란한 웹서핑의 결과로 작성된 sql문이다.
SELECT DISTINCT ROUTE_ID,
STUFF((SELECT ' -- ' + ADDRESS AS [text()]
FROM tb_fav_route_addr b
WHERE b.ROUTE_ID = a.ROUTE_ID
ORDER BY ADDRESS
FOR XML PATH('')),1,1,'') AS ADDRESS
FROM tb_fav_route_addr a;
잘 돌아가드라..
역시 젊은 피가 조아.. ㅋ
출처 : http://sqler.pe.kr/web_board/view_list.asp?id=90373&read=58&pagec=&ses=1
그런데 어떠한 도움을 주기도 전에 먼저 해결해버린 멋진 사원님..
좋은 정보다 싶어, 내가 직접 찾아낸 것은 아니지만 기억으로 저장을 잘 못하므로 여기에 적는다는...
하나의 테이블에 여러개의 컬럼이 있는데.. 특정 컬럼의 값이 동일한것들의 다른 컬럼들을 어찌 합치느냐는게 문제였다.
참조하는 ID가 같은 것들의 주소를 하나의 컬럼인것처럼 값을 저장하기 위한것이다.
이는 위의 그 사원님의 현란한 웹서핑의 결과로 작성된 sql문이다.
SELECT DISTINCT ROUTE_ID,
STUFF((SELECT ' -- ' + ADDRESS AS [text()]
FROM tb_fav_route_addr b
WHERE b.ROUTE_ID = a.ROUTE_ID
ORDER BY ADDRESS
FOR XML PATH('')),1,1,'') AS ADDRESS
FROM tb_fav_route_addr a;
잘 돌아가드라..
역시 젊은 피가 조아.. ㅋ
출처 : http://sqler.pe.kr/web_board/view_list.asp?id=90373&read=58&pagec=&ses=1
반응형