我需要帮助实现以下输出。 我有一个表递归排列组合
declare @tblLevels table(
levelsID INT IDENTITY(1,1),
levelNumber INT,
levelDesc VARCHAR(100))
insert into @tblLevels(levelNumber,levelDescription)
values
(1,'L1D1'),
(1,'L1D2'),
(1,'L1D3'),
(1,'L1D4'),
(2,'L2D1'),
(2,'L2D2'),
(2,'L2D3'),
(2,'L2D4'),
(3,'L3D1'),
(3,'L3D2'),
(3,'L3D3')
select * from @tblLevels
levelsID levelNumber levelDesc
========================================
1 1 L1D1
2 1 L1D2
3 1 L1D3
4 1 L1D4
5 2 L2D1
6 2 L2D2
7 2 L2D3
8 2 L2D4
9 3 L3D1
10 3 L3D2
11 3 L3D3
我有另一个表(@tblLevelSpreadOut),其结构变为如下面
declare @tblLevelSpreadOut table(
levelSpreadOutID INT IDENTITY(1,1),
levelNumber1 INT,
levelDesc1 VARCHAR(100),
levelNumber2 INT,
levelDesc2 VARCHAR(100),
levelNumber3 INT,
levelDesc3 VARCHAR(100))
它需要来自前表(@tblLevels)填充,使得输出是
select levelNumber1, levelDesc1, levelNumber2 ,levelDesc2 , levelNumber3 ,levelDesc3
from @tblLevelSpreadOut
levelNumber1 levelDesc1 levelNumber2 levelDesc2 levelNumber3 levelDesc3
============================================================================
1 L1D1 2 L2D1 3 L3D1
1 L1D1 2 L2D1 3 L3D2
1 L1D1 2 L2D1 3 L3D3
1 L1D1 2 L2D2 3 L3D1
1 L1D1 2 L2D2 3 L3D2
1 L1D1 2 L2D2 3 L3D3
1 L1D1 2 L2D3 3 L3D1
1 L1D1 2 L2D3 3 L3D2
1 L1D1 2 L2D3 3 L3D3
1 L1D1 2 L2D4 3 L3D1
1 L1D1 2 L2D4 3 L3D2
1 L1D1 2 L2D4 3 L3D3
1 L1D2 2 L2D1 3 L3D1
1 L1D2 2 L2D1 3 L3D2
1 L1D2 2 L2D1 3 L3D3
1 L1D2 2 L2D2 3 L3D1
1 L1D2 2 L2D2 3 L3D2
1 L1D2 2 L2D2 3 L3D3
1 L1D2 2 L2D3 3 L3D1
1 L1D2 2 L2D3 3 L3D2
1 L1D2 2 L2D3 3 L3D3
1 L1D2 2 L2D4 3 L3D1
1 L1D2 2 L2D4 3 L3D2
1 L1D2 2 L2D4 3 L3D3
1 L1D3 2 L2D1 3 L3D1
1 L1D3 2 L2D1 3 L3D2
1 L1D3 2 L2D1 3 L3D3
1 L1D3 2 L2D2 3 L3D1
1 L1D3 2 L2D2 3 L3D2
1 L1D3 2 L2D2 3 L3D3
1 L1D3 2 L2D3 3 L3D1
1 L1D3 2 L2D3 3 L3D2
1 L1D3 2 L2D3 3 L3D3
1 L1D3 2 L2D4 3 L3D1
1 L1D3 2 L2D4 3 L3D2
1 L1D3 2 L2D4 3 L3D3
感谢所有谁回答,也给所有谁看的问题。
4个词语: what have 您试过了吗? –
给所有对我怀恨在心,不接受答案的人 - 这是我的错误。将来会做。 – CocaCola
ElVieejo - 我不想去光标方式。因此我试着用左外连接。 – CocaCola