你可以修改你的sql。如果您不想使用多列,可以使用下面的黑客技巧。
DECLARE @T TABLE
(
TableID INT,
Value1 NVARCHAR(20),
ShouldBe INT
)
INSERT INTO @T (TableID,Value1,ShouldBe)
VALUES
(1,'A',1),
(2,'B',3),
(3,'C',5),
(4,'D',2),
(5,'E',4),
(6,'F',6),
(7,'A',1),
(8,'B',3),
(9,'C',5),
(10,'D',2),
(11,'E',4),
(12,'F',6),
(13,'A',1)
DECLARE @NumberOfRowsPerPage INT = 3
DECLARE @NumberOfColumns INT = 2
SELECT PageNumber,Value1
FROM
(
SELECT ColumnOrder=ROW_NUMBER() OVER(PARTITION BY PageNumber,ColumnTile ORDER BY TableID),*
FROM
(
SELECT ColumnTile=NTILE(@NumberOfColumns) OVER(PARTITION BY PageNumber ORDER BY TableID),*
FROM
(
SELECT PageNumber=((DataRowNumber -1)/(@NumberOfRowsPerPage * @NumberOfColumns)) + 1, *
FROM
(
SELECT DataRowNumber=ROW_NUMBER() OVER(ORDER BY TableID) ,*
FROM @T
)AS A
)AS B
)AS C
)AS D
ORDER BY
PageNumber,ColumnOrder,DataRowNumber
該查詢將基於RowsPerPage和NumberOfColumns產生以下輸出。
Page Value
1 A
1 D
1 B
1 E
1 C
1 F
2 A
2 D
2 B
2 E
2 C
2 F
3 A
您是否嘗試過切換行和列的表達式? – Anand
您可以使用多列布局。轉到報告屬性並設置列= 2。只要您的寬度保持爲 - >列數*列寬<頁寬,這將爲您提供上下/左右類型的輸出。它適用於大多數情況。但是,分組和頁面溢出可能會導致悲傷。 –
已經嘗試切換它們,只是顯示爲兩行和多列。 @Anand – KCodeR