테이블이 두개가 있습니다.
마스터 테이블 과 기술 테이블이라고 합니다.
구조는
* 마스터 테이블
일련번호 사업명 담당자이름 <--필드이름
1 의류판매 홍길동
2 헤어샵 슈퍼맨
3 IT기술 배트맨
* 기술 테이블
일련번호 기술코드 기술명
2 T-001 스트레이트파마
2 T-002 컷트
1 C-005 제단기술
3 I-008 C언어
이런식으로 데이터가 들어가 있습니다.
기술 테이블 일련번호를 INSERT시킬때 는 마스터 테이블의 일련번호를 가져옵니다.
이걸 조인을 묶습니다.
그러면
아래와 같이 나오겠죠...
일련번호 사업명 담당자이름 기술코드 기술명
1 의류판매 홍길동 C-005 제단기술
2 헤어샵 슈퍼맨 T-001 스트레이트 파마
2 헤어샵 슈퍼맨 T-002 컷트
3 IT기술 배트맨 I-008 C언어
쿼리문은
SELECT A.*,B.*
FROM 마스터 테이블 A, 기술테이블 B
where A.일련번호 = B.일련번호
이런식으로 나타날 수 있죠
그런데 여기서 문제가 있습니다.
위의 데이타중 사업명이 헤어샵부분은 2개가 들어가 있습니다.(일련번호 2번)
이렇게 나오면 안된다고 합니다.(아 짜증나)
아래와 같이 나와야 한다고 합니다.
일련번호 사업명 담당자이름 기술코드1 기술코드2 기술명1 기술명2
1 의류판매 홍길동 C-005 제단기술
2 헤어샵 슈퍼맨 T-001 T-002 스트레이트파마 컷트
3 IT기술 배트맨 I-008 C언어
한마디로 만약 데이터가 한사업명에 기술부분이 1개이상일때 밑으로 계속 뿌려지는게 아니라
오른쪽에서 기술명1,2,3,4.... 이 추가되어 뿌려달라고 하는 것입니다.
이게 쿼리에서 가능할까요???
기술부분은 한사업에 3개까지 가능합니다.
도와주세요~~~~
Create Table tblBiz
(
일련번호 int
,사업명 varchar(50)
,담당자이름 varchar(50)
)
Create Table tblTech
(
일련번호 int
,기술코드 varchar(50)
,기술명 varchar(50)
)
insert tblBiz
Select 1, '의류판매', '홍길동' union all
Select 2, '헤어샵', '슈퍼맨' union all
Select 3, 'IT기술', '배트맨'
insert tblTech
Select 2, 'T-001', '스트레이트파마' union all
Select 2, 'T-002', '컷트' union all
Select 1, 'C-005', '제단기술' union all
Select 3, 'I-008', ' C언어'
|