Я пытаюсь добавить две динамические колонки HeaderText
и IsShowHeader
в мою таблицу с помощью хранимой процедуры.
В первом столбце первая строка должна иметь текст Header1
, а после 8 строк текст должен быть Header2
, затем снова после 8 строк текст должен быть Header3
и т. Д.
Во втором столбце значение должно быть 1, а в следующих 8 строках должно быть 0, значение в 9-й строке должно быть снова 1, затем в следующих 8 строках должно быть 0, как это ...
ALTER PROCEDURE [dbo].[SkipRow]
AS
BEGIN
SELECT RID
,FirstName
,LastName
,(CASE WHEN X.[Row#]%9=0 And [X].[Row#]=0 THEN 1 ELSE
0 END)As IsShowHeader
,(COUNT(*) OVER ()) as TotalRows FROM
(
SELECT
*,ROW_NUMBER() OVER(ORDER BY RID) AS [Row#]
FROM Mytable1 WITH(NOLOCK)
)X
End
Выход:
HeaderText IsShowHeader
1 Header1 1
2 Null 0
3 Null 0
4 Null 0
5 Null 0
6 Null 0
7 Null 0
8 Null 0
9 Null 0
10 Header2 1
11 Null 0
12 Null 0
13 Null 0
14 Null 0
15 Null 0
16 Null 0
17 Null 0
18 Null 0
19 Header3 1