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 6878 게시물 읽기
No. 6878
두 테이블을 조인 후 left table에 하나의 ROW로 합칠 수 있을까요?
작성자
꽃씨하나(wtb0307)
작성일
2015-01-27 18:01ⓒ
2015-01-27 18:10ⓜ
조회수
5,156

 

질문 1 . 두 테이블을 조인 후 left table에 하나의 ROW로 합칠 수 있을까요?

제가 하고 싶은 것은 아래와 같습니다.

 

테이블 1 : 학생 테이블 

학번, 이름 , 연락처, ......

테이블 2 : 성적 테이블

학번, 과목명, 성적

 

위 두 테이블을 left join 등을 통해서 학생 정보와 성적 정보를 표현 할려고 하는데요.

일반적을 조인을 하게 되면 아래와 같이 됩니다.

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

학번    |   이름   |  연락처  |    학번  |  과목명 | 성적

1             홍길동   010-              1         과학       60

1             홍길동  010-              1          수학       50

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

 

하지만 제가 하고 싶은 것은. 하나의 ROW로 표현하고 싶습니다.

또  과목명이 과학인 사람과 성적이 60인 사람 또는

과목명이 수학인 사람과 성적이 50인 사람 등으로 검색까지 하고 싶습니다.

제 생각에는 우찌 되었던 group by 로 묶어야 할 것 같은데요.

필드가 너무 많아서 select max(학번), max(이름),... 이런 식으로 하게되면 너무 복잡해지는데요.

group 으로 묶지 않고 하나의 ROW를 생성하는

쿼리로 어떻게 하면 될까요?

 

 

 

학번    |     이름    |     연락처    |    학번    |    과목명    |    성적  |   과목명     |  성적

   1            홍길동        010-             1             과학             60           수학           50

 

 

 

 

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

1. 테스트 테이블

 

select Num, Name, [Subject], Score

From tblA

 

결과===========================

Num Name Subject Score

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

1 홍길동 과학 10

1 홍길동 수학 100

 

 

2. 피봇을 사용한 테이블 합치기

 

SELECT Name, 과학, 수학

FROM

(

select Num, Name, [Subject], Score

from tblA

) P

PIVOT

(

MAX(Score)

FOR [Subject] IN ( 과학, 수학)

) PVT

 

결과=======================

Name 과학 수학

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

홍길동 10 100

 

 

저의 짧은 지식으로는 Pivot을 활용하시면 쉽게하실 것 같습니다.

 

부디 도움이되셨길~

 

 

이성원(wolfre)님이 2015-01-27 19:01에 작성한 댓글입니다.
이 댓글은 2015-01-27 19:02에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
6881점검 부탁드립니다. [1]
예진예랑
2015-02-08
5554
6880답변형 댓글 구현 도움 부탁드립니다. [2]
최덕현
2015-02-02
5057
6879mssql복구중 관련 문의
왕초보
2015-01-29
4950
6878두 테이블을 조인 후 left table에 하나의 ROW로 합칠 수 있을까요? [1]
꽃씨하나
2015-01-27
5156
6877조인에 대한 문의입니다 [13]
kshap
2015-01-22
5746
6876DBO 에 대하여 질문 드립니다. [2]
이성원
2015-01-22
4977
6875MSSQL JDBC Driver Version 1 [2]
유상진
2015-01-21
6133
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다