안녕하세요.
Query가 잘 안풀려서 질문드립니다..
지금 현재 결과값이 다음과이 나오는것을
이렇게 가져오고 싶은데요 잘 안되네요 ㅠ 좀 도와주세요...
DB는 2008 R2입니다ㅜ.
CREATE TABLE [dbo].[NUMS]( [ID] [int] NOT NULL, CONSTRAINT [PK_NUMS] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
이 NUMS 라는 테이블에는 문자열에 길이에 따라서 ID를 적당히 생성하시면 되는데
저는 200까지만 가정해서 넣었습니다
이 테이블을 tb 라고 가정하면
select A컬럼,SUBSTRING( REPLACE(rtrim(( select ',' + convert(varchar(5),ELEMENT) from (select distinct A컬럼 ,convert(int,ELEMENT) as ELEMENT from tb cross apply ( SELECT substring (B컬럼, ID, CHARINDEX(',',B컬럼+',',ID)-ID) AS 'ELEMENT' FROM NUMS WHERE ID <= LEN(B컬럼) AND SUBSTRING (',' + B컬럼,ID,1) = ',' ) as temp2) as temp3 where temp3.A컬럼 = temp1.A컬럼 for XML path (''))),'',', '),2,999) as B컬럼 from (select distinct A컬럼 from tb) as temp1 group by A컬럼
이쿼리를 실행하시면 결과가 나옵니다