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 6948 게시물 읽기
No. 6948
쿼리 질문 있습니다. 확인 부탁드립니다.
작성자
궁금해요(seunggo)
작성일
2016-01-15 17:04ⓒ
2016-01-15 17:41ⓜ
조회수
4,140

table A

ID 이름

A1 홍길동

B1 박지성

C1 김연아

 

table B

ID SEQ 학력

A1 1 박사

A1 2 석사

A1 3 학사

B1 1 석사

B1 2 학사

C1 1 학사

 

table C

ID SEQ 경력

A1 1 삼성생명

A1 2 LG전자

B1 1 농심

B1 2 오뚜기

B1 3 해태

C1 1 도시공사

C1 2 농촌공사

 

위 3개 테이블을 이용해서 아래 와 같이 출력할려고 합니다.

 

ID SEQ 학력 경력

A1 1 박사 삼성생명

A1 2 석사 LG전자

A1 3 학사 null

B1 1 석사 농심

B1 2 학사 오뚜기

B1 3 null 해태

C1 1 학사 도시공사

C1 2 null 농촌공사

 

어떤식으로 가야할지 감이 전혀 안잡혀서요.

 

도움 부탁드립니다~

 

 

 

감사합니다.(__)

 

이 글에 대한 댓글이 총 3건 있습니다.
TableA에 있는 값(이름)은 결과에 반영되어 있지 않아 사용하지 않았고,
TableB와 TableC를 이용해 쿼리를 작성했습니다.
저도 아직 배우는 단계라 많이 미흡하지만 도움이 되시길 바랍니다.
혹시 괜찮은 방법 알고 계신다면 댓글 부탁 드리겠습니다.
 
 
SELECT U.ID, U.SEQ, B.[학력], C.[경력]
FROM (
SELECT DISTINCT ID, SEQ FROM TableB
UNION
SELECT DISTINCT ID, SEQ FROM TableC
             ) AS U
LEFT JOIN TableB AS B 
ON U.ID=B.ID AND U.SEQ=B.SEQ
LEFT JOIN TableC AS C
ON U.ID=C.ID AND U.SEQ=C.SEQ
호호호님이 2016-01-18 11:07에 작성한 댓글입니다.
이 댓글은 2016-01-18 11:09에 마지막으로 수정되었습니다. Edit

Full Outer Join 으로..

---쿼리시작---

with table_A (ID,이름) As
(
     Select 'A1','홍길동' Union All
     Select 'B1','박지성' Union All
     Select 'C1','김연아'
)
,table_B (ID,SEQ,학력) As
(
     Select 'A1',1,'박사' Union All
     Select 'A1',2,'석사' Union All
     Select 'A1',3,'학사' Union All
     Select 'B1',1,'석사' Union All
     Select 'B1',2,'학사' Union All
     Select 'C1',1,'학사'
)
,table_C (ID,SEQ,경력) As
(
     Select 'A1',1,'삼성생명' Union All
     Select 'A1',2,'LG전자  ' Union All
     Select 'B1',1,'농심    ' Union All
     Select 'B1',2,'오뚜기  ' Union All
     Select 'B1',3,'해태    ' Union All
     Select 'C1',1,'도시공사' Union All
     Select 'C1',2,'농촌공사'
)    
     Select IsNull(a.ID,b.ID)
           ,IsNull(a.SEQ,b.SEQ)
           ,a.학력
           ,b.경력
       From table_B a
                      Full Outer Join table_C b
                                                On a.ID = b.ID
                                               And a.SEQ = b.SEQ
   Order By IsNull(a.ID,b.ID) Asc
           ,IsNull(a.SEQ,b.SEQ) Asc

---쿼리끝---

최한영(terry0515)님이 2016-01-18 12:14에 작성한 댓글입니다.
이 댓글은 2016-01-18 12:20에 마지막으로 수정되었습니다.

감사합니다.

 

많은 도움 되었습니다~

 

 

궁금해요(seunggo)님이 2016-01-18 18:54에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
6951xp_cmdshell 막는 방법 [1]
궁금이
2016-01-21
3929
6950다시 쿼리 확인 부탁드립니다. [5]
궁금해요
2016-01-18
4231
6949혹시 쿼리알림을 사용해보신분이 계신지요?
조치만
2016-01-16
4267
6948쿼리 질문 있습니다. 확인 부탁드립니다. [3]
궁금해요
2016-01-15
4140
6946[질문] 주소 검색[시/군/구/동 추출 문의] [1]
궁금이
2016-01-14
4515
6945MSSQL 다중 테이블 insert
니얼굴맛
2015-12-28
5265
6944update 문장 [1]
멍멍이
2015-12-18
4269
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.049초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다