database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 6311 게시물 읽기
No. 6311
쿼리로 ROWSPAN 효과내기
작성자
초보
작성일
2012-01-16 11:34
조회수
6,841

쿼리로 결과물이 아래처럼 행합치기 효과를 내고자 하는데 방법을 잘 모르겠습니다.
고수님들 조언 부탁드립니다.

컬럼1       컬럼2        컬럼3                    내역
대분류1   중분류1    소분류1
                                    소분류2
                 중분류2     소분류3
                                    소분류4
대분류2   중분류3   소분류5
                                   소분류6
                 중분류4    소분류7
                                   소분류8

SELECT 컬럼1, 컬럼2, 컬럼3, 내역
FROM 테이블1

 

이 글에 대한 댓글이 총 1건 있습니다.

 이 데이터를 받아서 처리하는 어플리케이션 단에서 처리를 하는 것이 맞지 않겠느냐는 생각이 강하지만 굳이 안될거 같진 않아서.. ㅋ

with tt( c1, c2, c3, detail )
as (
select '1', '1', '1', 'a'
union all select '1', '1', '2', 'b'
union all select '1', '2', '3', 'c'
union all select '1', '2', '4', 'd'
union all select '2', '3', '5', 'e'
union all select '2', '3', '6', 'f'
union all select '2', '4', '7', 'g'
union all select '2', '4', '8', 'h'
)
 
select case when uu.c1 = vv.c1 then '' else uu.c1 end as c1
, case when uu.c2 = vv.c2 then '' else uu.c2 end as c2
, case when uu.c3 = vv.c3 then '' else uu.c3 end as c3
, uu.detail
from
(
select ROW_NUMBER() over ( order by c1, c2, c3 ) as rid, 
c1, c2, c3, detail
from tt
) as uu
left join 
(
select ROW_NUMBER() over ( order by c1, c2, c3 ) as rid, 
c1, c2, c3, detail
from tt
) as vv on uu.rid = vv.rid + 1
;
 

우욱님이 2012-01-16 16:23에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6315에러가 자주 생겨요
정명규
2012-01-27
6559
6314vb와 ms-sql연동
냠냠
2012-01-19
7096
6313화면 배열 문제... [2]
말짝이
2012-01-18
6820
6311쿼리로 ROWSPAN 효과내기 [1]
초보
2012-01-16
6841
6310컬럼의 값을 카운트 하려면? [1]
초보자
2012-01-15
6728
6309select 쿼리 질문입니다. [2]
유재영
2012-01-13
7334
6308ms-sql 동기화 관련 질문
궁금증
2012-01-11
7223
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다