0

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 
4

1 に答える 1