-2
데이터베이스에 단일 테이블 열의 데카르트 데카르트 제품을 만들고 싶습니다.데카르트 제품 데이터베이스
나는 각 열에 3 개의 열과 3 개의 값을 가진 하나의 테이블을 가지고 있는데, 테이블의 열 내에서 데카르트 곱의 27 개의 결과 행을 원합니다.
이 결과를 얻는 가장 좋은 방법은 무엇이며 출력을 생성하기 위해 데이터 구조를 사용해야합니까?
데이터베이스에 단일 테이블 열의 데카르트 데카르트 제품을 만들고 싶습니다.데카르트 제품 데이터베이스
나는 각 열에 3 개의 열과 3 개의 값을 가진 하나의 테이블을 가지고 있는데, 테이블의 열 내에서 데카르트 곱의 27 개의 결과 행을 원합니다.
이 결과를 얻는 가장 좋은 방법은 무엇이며 출력을 생성하기 위해 데이터 구조를 사용해야합니까?
데카르트 생성은 간단합니다.
select 1 as one,2 as two,3 as three
into #test
union all select 4,5,6
union all select 7,8,9
select t1.*
from
#test t1,
#test t2,
#test t3
drop table #test
이 자기
test
(T2의 경우) 다른 모든 레코드
test
(T1의 예)에서 모든 레코드에 참여합니다.
새 테이블을 만들려면 select t1.*
을 select t1.* into myTableName
으로 변경하면 테이블이 채워집니다.
편집 : 귀하의 질문에 따라, 나는 내 대답이 당신이 원하는 것을 줄 것이라고 믿습니다. 그러나 pivot 데이터를 원할 수도 있습니다.
도움 주셔서 감사합니다 ....하지만 런타임에 데이터베이스에 테이블을 만들고 테이블에 삽입 할 때 런타임에도 수행됩니다 ... 더 많은 시나리오가 있습니다. 따라서 열 수가 고정되어 있지 않습니다. . 그래서 이것에 대한 해결책이 될 것입니다. –
@ Neeraj_Yadav 그렇다면 왜 테이블을 다르게 만들지 않습니까? 이 끔찍한 DB 디자인을 제거하고 더 많은 것을 유지 보수하십시오. – paqogomez
일부 샘플 입력은 원하는 결과를 게시하십시오. – paqogomez