ストアドプロシージャを実行していて、55レコードを返すc#コードで結果をフェッチしている状況があります。今度は、別のSQLクエリを実行した結果として表示する必要のある列が行にあります。どうしてもやってみましたが、どうすればいいのかわかりませんでした。助けてください。
正常に機能するプロシージャを呼び出すC#コードは次のとおりです。
public static MonthlyFinancialReportCollection GetList(SASTransaction withinTransaction)
{
MonthlyFinancialReportCollection records = null;
using (DataSet ds = Helpers.GetDataSet("ShowPremiumCalcReport", withinTransaction))
{
if (ds.Tables.Count > 0)
{
records = new MonthlyFinancialReportCollection();
foreach (DataRow dr in ds.Tables[0].Rows)
{
if (!string.IsNullOrEmpty(dr[0].ToString()))
records.Add(FillDataRecord(dr));
}
}
}
return records;
}
次に、上記の関数で呼び出されたプロシージャに対してクエリを実行したいので、列の1つにクエリの計算結果が入力されます。
select
Sum(WorkingHours.WHO_Amount * dbo.PremiumLevel.PLE_Premium) as Snr_Teaching_Amt
from policy, policyline, coveroption,
premiumlevel, WorkingHours
where policy.pol_id=policyline.pli_pol_id
and policyline.pli_cop_seniorteachingcoverid=coveroption.cop_id
and premiumlevel.ple_own_id=policy.pol_own_id
and premiumlevel.ple_sca_id=coveroption.cop_sca_id
and WorkingHours.who_pos_id=policyline.pli_pos_id
and pol_dcsf=row["snr teaching staff"]`