15 で割り切れる行数を出力したいストアド プロシージャがあります。たとえば、33 行を出力するこのストアド プロシージャがありますが、各ページにはちょうど 15 行が保持されます。3行しかない最後のページでは、間隔がめちゃくちゃです。行数は常に動的であるため、行数を 15 で割り切れる数にした方が簡単だと思いました。この場合、間隔を正しく保つために 12 行の空白行を追加します。
これが私のコードです:
SELECT ROW_NUMBER() OVER ( ORDER BY YEAR(rce.Ecodate) ) AS Row ,
rce.ReportRunCaseId AS CaseId ,
YEAR(rce.EcoDate) AS EcoYear ,
SUM(rce.NetInv) AS NetInvSum ,
SUM(rce.NDCash) AS NDCashSum ,
SUM(rce.DiscCash) AS DiscCashSum ,
SUM(rce.GrossGas) AS GrossGasSum ,
SUM(rce.GrossOil) AS GrossOilSum ,
SUM(rce.NetProdTax) AS NetProdTaxSum ,
SUM(rce.NetOpCost) AS NetOpCostSum ,
SUM(rce.WellCost) AS WellCostSum ,
SUM(rce.NetOil) AS NetOilSum ,
SUM(rce.CoNetRevOil) AS CoNetRevOilSum ,
SUM(rce.CoNetRevGas) AS CoNetRevGasSum ,
SUM(rce.NetGas) AS NetGasSum ,
rce.WellCount ,
rcl.SortId
FROM PhdRpt.ReportCaseList AS rcl
INNER JOIN PhdRpt.RptCaseEco AS rce ON rce.ReportId = rcl.ReportId
AND rce.ReportRunCaseId = rcl.ReportRunCaseId
GROUP BY rcl.SortId ,
rce.ReportId ,
rce.ReportRunCaseId ,
YEAR(rce.EcoDate) ,
rce.WellCount
INSERT INTO を使用してテーブルに行を追加できることを読みました。次のようなものを使用する必要があります。
INSERT INTO rce
SELECT num - 1
FROM T1
WHERE ( num % 15 ) = 0