ストアド プロシージャで一時テーブルを作成して呼び出しようとしています。私が達成しようとしているのは、年間データと四半期データを組み合わせることです。例: 2013 年のデータを含むフィールドがあります。年ごとにグループ化した年次データを取得するために、四半期ごとのデータを取得するために、四半期ごとにグループ化しました。通常、年次のビューを使用し、四半期ごとのストアド プロシージャでそのビューを呼び出します。私がこれをやろうとしている理由は、開発者ごとにビューを使用できないためです。これを回避するために、年間データを使用して一時テーブルを作成しました (以下のコードを参照)。これを実行すると正常に動作しますが、ストアド プロシージャを Devexpress に追加しようとすると、フィールドが含まれていません。これは一時テーブルでの私の最初の試みです。エラーまたはこれを記述するより良い方法があれば、お知らせください。ご協力ありがとうございました。
CREATE TABLE #StdEcoYearlyData1(
CaseCaseId int ,
EcoYear int,
NetInvY float,
NDCashY float,
DiscCashY float,
GrossGasY float,
GrossOilY float,
NetProdTaxY float,
NetOpCostY float,
WellCostY float,
NetOilY float,
CoNetRevOilY float,
CoNetRevGasY float,
NetGasY float,
NetLocalTaxY float,
NetFixedCostY float,
NetOtherCostY float,
NetProfitY float,
NetTransCostY float
)
INSERT INTO #StdEcoYearlyData1 (
CaseCaseId ,
EcoYear ,
NetInvY ,
NDCashY ,
DiscCashY ,
GrossGasY ,
GrossOilY ,
NetProdTaxY ,
NetOpCostY ,
WellCostY ,
NetOilY ,
CoNetRevOilY ,
CoNetRevGasY ,
NetGasY ,
NetLocalTaxY ,
NetFixedCostY ,
NetOtherCostY ,
NetProfitY ,
NetTransCostY )
SELECT rcl.CaseCaseId AS CaseId, YEAR(rce.ecodate) as EYear,
SUM(rce.NetInv) AS NetInvY, SUM(rce.NDCash) AS NDCashY,
SUM(rce.DiscCash) AS DiscCashY, SUM(rce.GrossGas) AS GrossGasY,
SUM(rce.GrossOil) AS GrossOilY, SUM(rce.NetProdTax) AS NetProdTaxY,
SUM(rce.NetOpCost) AS NetOpCostY, SUM(rce.WellCost) AS WellCostY,
SUM(rce.NetOil) AS NetOilY, SUM(rce.CoNetRevOil) AS CoNetRevOilY,
SUM(rce.CoNetRevGas) AS CoNetRevGasY, SUM(rce.NetGas) AS NetGasY,
Sum(rce.NetLocalTax) as NetLocalTaxY, Sum(rce.NetFixedCost) as NetFixedCostY,
Sum(rce.NetOtherCost) as NetOtherCostY, Sum(rce.NetProfit) as NetProfitY,
Sum(rce.NetTransCost) as NetTransCostY
from PhdRpt.RptCaseEco rce
INNER JOIN PhdRpt.ReportCaseList rcl ON
rce.ReportRunCaseId = rcl.ReportRunCaseId
group by rce.reportruncaseid,rcl.CaseCaseId,year(rce.EcoDate)
select
rcl.CaseCaseId AS CaseId,
EcoYear ,
DATEPART(qq,rce.EcoDate) as Quarter,
NetInvY ,
NDCashY ,
DiscCashY ,
GrossGasY ,
GrossOilY ,
NetProdTaxY ,
NetOpCostY ,
WellCostY ,
NetOilY ,
CoNetRevOilY ,
CoNetRevGasY ,
NetGasY ,
NetLocalTaxY ,
NetFixedCostY ,
NetOtherCostY ,
NetProfitY ,
NetTransCostY, 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,
Sum(rce.NetLocalTax) as NetLocalTaxSum, Sum(rce.NetFixedCost) as NetFixedCostSum,
Sum(rce.NetOtherCost) as NetOtherCostSum, Sum(rce.NetProfit) as NetProfitSum,
Sum(rce.NetTransCost) as NetTransCostSum
from PhdRpt.RptCaseEco rce
INNER JOIN PhdRpt.ReportCaseList rcl ON
rce.ReportRunCaseId = rcl.ReportRunCaseId
INNER JOIN #StdEcoYearlyData1 sey on
rce.ReportRunCaseId = sey.CaseCaseId and
year(rce.ecodate) = sey.EcoYear
group by
EcoYear ,
NetInvY ,
NDCashY ,
DiscCashY ,
GrossGasY ,
GrossOilY ,
NetProdTaxY ,
NetOpCostY ,
WellCostY ,
NetOilY ,
CoNetRevOilY ,
CoNetRevGasY ,
NetGasY ,
NetLocalTaxY ,
NetFixedCostY ,
NetOtherCostY ,
NetProfitY,
NetTransCostY,
rcl.CaseCaseId,
YEAR(rce.EcoDate),
DATEPART(qq,rce.EcoDate)
order by rcl.CaseCaseId
drop table #StdEcoYearlyData1