declare @table1 table
(
 Seq  int IDENTITY (1, 1) NOT NULL,
 MNO  int,
 MNAME varchar(15),
 ftype varchar(15)
)

declare @table2 table
(
 MNO  int,
 ftype varchar(4000)
)

insert @table1 select 1, '10', '가나다'
insert @table1 select 1, '20', 'ABC'
insert @table1 select 2, '10', '123'
insert @table1 select 2, '20', '456'
insert @table1 select 2, '30', '789'
insert @table1 select 3, 'A', 'abcd'
insert @table1 select 3, 'B', 'def'
insert @table1 select 3, 'C', 'ghi'


DECLARE @Tmp_max INT
DECLARE @Tmp_cnt INT

DECLARE @Tmp_mno INT
DECLARE @Tmp_ftype varchar(15)

 

SET @Tmp_cnt = 1
SELECT @Tmp_max = MAX(Seq) FROM @table1

 

--@table2에 그룹별 문자열을 모은다.
WHILE(@Tmp_cnt <= @Tmp_max)
BEGIN
 SELECT @Tmp_mno = MNO, @Tmp_ftype = ftype FROM @table1 WHERE Seq = @Tmp_cnt
 
 IF(EXISTS(SELECT MNO FROM @table2 WHERE MNO = @Tmp_mno))
  UPDATE @table2 SET ftype = ftype + '' + @Tmp_ftype WHERE MNO = @Tmp_mno
 ELSE
  INSERT @table2 SELECT @Tmp_mno,@Tmp_ftype
 
 SET @Tmp_cnt = @Tmp_cnt + 1
END


--데이터 조회
SELECT a.mno,a.mname,
(
 SELECT ftype FROM @table2 WHERE MNO = a.MNO
)
FROM @table1 a GROUP BY mno,mname

 아래가 결과물인데 그룹별로 묶이지 않게

1/ 10/ 가나다ABC
1 /20/ 가나다ABC
2 /10/ 123456789
2 /20/123456789
2 /30/123456789
3/ A/ abcddefghi
3/ B/ abcddefghi
3 /C/ abcddefghi

 

아래와 같이 런식으로
1/2/3 가나다123abcd

1/2/3 가나다123ghi

1/2/3 가나다456abcd

1/2/3 가나다456def

.......................

그룹별로 묶이지 않고 중복되지 않게 나올수 있는 값이 다 나오게 연결 하려고 합니다.

답글 주시면 감사하겠습니다.

No. Subject Author Date Views
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 568
7733 복원시 에러 뜹니다 [1] 레볼루션 2014.03.29 2916
7732 CASE 식은 수준 10까지만 중첩할 수 있습니다. [1] msakstp 2014.03.28 6355
7731 대용량 db 의 데이터 [2] 이유진_301818 2014.03.27 3257
7730 태스크-스크립트 생성을 스케줄로 걸 수 있나요? [2] 조굴 2014.03.27 3427
7729 초보적인 질문 드립니다. [2] unyo 2014.03.27 2429
» 예제 결과를 그룹별로 중복되지 않게 행을 합치려면 어떻게 해야 할지요? fame 2014.03.26 2794
7727 ms SQL 디비 호환 버전 문의 [2] 홍훈아 2014.03.26 7495
7726 서브쿼리질문드립니다. [8] 큘러 2014.03.26 2670
7725 자정이 지났는지 여부를 알수 있늘까요? 동숙이 2014.03.25 3002
7724 MSSQL 메모리 좀 올려 주세요 ~~~~~` [4] 홍훈아 2014.03.25 4730
7723 모든 열을 업데이트 하려고 합니다. 나는짱이야 2014.03.25 2711
7722 md5로 비밀번호를 암호화 하고 싶은데요 [1] alima 2014.03.25 3209
7721 몇번째 배열값인지를 찾아주세요!!! ㅠㅜ 파인드쿠폰 2014.03.25 2997
7720 row를 구하고 방식을 좀더 쉽게 알고 싶습니다. [5] 아루시스 2014.03.24 2543
7719 쿼리 작성시 *=는 LEFT OUTER JOIN 인데요..=*는 뭘 의미하는 건가요? [1] 냥냥이맘 2014.03.24 3601
7718 from 절에 테이블명을 select 해서 나오는 열로 넣는방법 문의드립니다 [4] 옹달 2014.03.24 4892
7717 미러링 서버 설정 관련 질문 드립니다. [2] 나는짱이야 2014.03.24 3156
7716 MS SQL 2012 AlwaysOn 실제 사용기 NiceHee 2014.03.22 3649
7715 쿼리로 해결할수 있을까요?? [1] 김세진_280632 2014.03.22 2463
7714 프로시저의 index를 걸고 싶습니다. [3] 웹사랑 2014.03.22 2928





XE Login