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 7246 게시물 읽기
No. 7246
하나의 컬럼만 데이터가 다르고 다른 컬럼 데이터는 모두 동일한 레코드 합치기
작성자
김정모(ondal76)
작성일
2022-01-17 11:49
조회수
842

안녕하세요.

2개의 row data가 있습니다. 다른 컬럼은 동일하고 하나의 컬럼만 데이터가 다릅니다.

이걸 합쳐서 하나의 row data로 보이도록 하고 싶습니다.

ex) 

순번    이름       학교

------  --------  ---------------

1      홍길동    영재중학교

2      홍길동    영재고등학교


위 데이터를 

이름          학교1            학교2

-----         --------         -----------

홍길동     영재중학교   영재고등학교

 

이렇게 바꾸고 싶습니다.  

고수님들 부탁드립니다.

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

같은 형태는 아닌데요. 

학교수가 많을수도 있어서 대략 하면 이런 식입니다. 



with tmp as (

select '홍길동' as nm, 'a1' as sch union all

select '홍길동' as nm, 'a2' as sch union all

select '임꺽정' as nm, 'a1' as sch

)

select

nm,

string_agg(sch, ',') as sch

from tmp

group by nm

.님이 2022-01-17 14:01에 작성한 댓글입니다. Edit

순번 기준으로 해봤습니다.


with t (순번,이름,학교) as (

select 1, '홍길동', '영재중학교' union all

select 2, '홍길동', '영재고등학교'

)

select 이름, 

       max(case when 순번=1 then 학교 else '0' end), 

       max(case when 순번=2 then 학교 else '0' end) 

from t

group by 이름

 

정상규(pajama)님이 2022-01-17 15:30에 작성한 댓글입니다.
WITH t AS
(
SELECT 1 순번, '홍길동' 이름, '영재중학교' 학교
UNION ALL SELECT 2, '홍길동', '영재고등학교'
)
-- 학력 기준으로 해봤습니다. --
SELECT 이름
     , MAX(CASE WHEN 학교 LIKE '%중학교'   THEN 학교 END) 중학교
     , MAX(CASE WHEN 학교 LIKE '%고등학교' THEN 학교 END) 고등학교
  FROM t
 GROUP BY 이름
;

 
마농(manon94)님이 2022-01-19 16:51에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
7249쿼리 문의 [8]
정선희
2022-02-28
908
7248MS-SQL 날짜 끼워넣기 질문 (Join) [2]
김찬우
2022-02-08
900
7247MSSQL 데이터베이스 분리 질문있습니다 !! [1]
이수정
2022-01-20
933
7246하나의 컬럼만 데이터가 다르고 다른 컬럼 데이터는 모두 동일한 레코드 합치기 [3]
김정모
2022-01-17
842
7244쿼리 질문드려요 [1]
유미
2022-01-12
802
7243서브쿼리 튜닝 문의 [1]
뉴비
2021-12-06
842
7240오라클  트리거 를 MSSQL 전환 문의 드립니다. [1]
김병훈
2021-10-01
920
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다