이 테이블은 다음과 같습니다. B
.두 테이블을 합치는 것
id boardid schoolid subject cnt1 cnt2 cnt3 ....
=================================================================
1 20 21 f
2 20 21 r
3 20 21 w
4 20 21 m
5 20 30 r
6 20 30 w
7 20 30 m
카운트가 단지 정수라고 가정합니다. schoolid = 30
에 대해서는 subject = f
이 없습니다. 마찬가지로, 대부분의 학교에서 일부 subject
dosnt가 존재합니다. 당신은 r, m, f
..
그래서 내가하고 싶은 것을 각 학교에 대한 4 개 일치하는 행이 있으며, dosnt 행은 내가 더미 값을 원하는 존재이다 정당한 r, w
가 schoolid
또는 일부가있을 수 있습니다. 나는 보조 테이블
drop table #A
Select * into #A FROM
(
select [subject_s] = 'r', orderNo = 1
union all
select [subject_s] = 'w', orderNo = 2
union all
select [subject_s] = 'm', orderNo = 3
union all
select [subject_s] = 'f', orderNo = 4
) z
를 생성하고 일부는 그들에 조인하고 생각하지만, 나는 어떠한 곳이라도하지했습니다. 나는 내부 조인, 왼쪽 외부 조인, 모든 조인을 시도했다. 나는 데카르트 제품을 만들려고 노력했습니다. 나는 orderno
을 가지고 있기 때문에 나의 데카르트 제품이 엉망이라고 생각한다. 그래서 주 테이블의 행당 16 개의 행을 만든다. 실제로 이것을 입력하면 orderno
을 제거하고 카티 션 곱을 적용한 다음 나중에 orderno를 추가하면 효과가있을 수 있지만 실제로 어떤 것이 있는지 생각해 보는 데 관심이 있습니다. 나는 곤두박질 친다.
최종 결과
id boardid schoolid subject cnt1 cnt2 cnt3 ....
=================================================================
1 20 21 r
2 20 21 w
3 20 21 m
4 20 21 f
5 20 30 r
6 20 30 w
7 20 30 m
7 20 30 f
모든 제목의 테이블이 있습니까? 각 학년에 출제해야하는 모든 과목을 어떻게 결정할 수 있습니까? –
어떤 RDBMS를 사용하고 있습니까? 그리고 최종 결과의 마지막 행에 'id'가 7 인 이유는 무엇입니까? – Lamak
Typo, id는 자동 생성 된 번호입니다. 그리고 임시 테이블을 만들었습니다. 모든 피실험자가 있습니다 (단 4 개만 있습니다) – masfenix