0

わかりましたので、これは少し複雑に聞こえます。ポリシー番号が別のテーブルのポリシー番号と一致したときに、テーブルの値を 2 で割る何らかの関数を何らかの方法で配置したいと考えています。その関数が必要なクエリは次のとおりです

SELECT 
qryReinsuranceDPA1_izzy.POLICY_NO, 
qryReinsuranceDPA1_izzy.PHASE_CODE, 
qryReinsuranceDPA1_izzy.SUB_PHASE_CODE, 
qryReinsuranceDPA1_izzy.SchedNP,
qryReinsuranceDPA1_izzy.ProdType, 
Sum(qryReinsuranceDPA1_izzy.SumOfAMOUNT_INFORCE) AS SumOfSumOfAMOUNT_INFORCE, 
Sum(qryReinsuranceDPA1_izzy.SumOfPUA_FACE) AS SumOfSumOfPUA_FACE, 
Sum(qryReinsuranceDPA1_izzy.SumOfOYT_FACE) AS SumOfSumOfOYT_FACE, TotalDPA = sum(case when qryReinsuranceDPA1_izzy.[SumOfNetDefExtraAdj] Is Null then qryReinsuranceDPA1_izzy.[SumOfNetDefPremiumAdj] else qryReinsuranceDPA1_izzy.[SumOfNetDefPremiumAdj] +qryReinsuranceDPA1_izzy.[SumOfNetDefExtraAdj] end), 
qryReinsuranceDPA1_izzy.SumOfGROSS_ANNLZD_PREM, 
qryReinsuranceDPA1_izzy.SumOfStatNetPremium, 
qryReinsuranceDPA1_izzy.[SumOfStatNetPremium]/qryReinsuranceDPA1_izzy.[SumOfGROSS_ANNLZD_PREM] AS NetToGrossRatio, 
qryReinsuranceDPA1_izzy.NetvsGrossInd, 
DPA_NetPrem = case when qryReinsuranceDPA1_izzy.[NetvsGrossInd]='Net' then sum(qryReinsuranceDPA1_izzy.[SumOfStatNetPremium]) else sum([qryReinsuranceDPA1_izzy].[SumOfGROSS_ANNLZD_PREM]) end, 
qryPolicyListforNYDefPRemAsset_Re.ReinType AS ReinType, 
Sum(qryPolicyListforNYDefPRemAsset_Re.ReinsAmount) AS SumOfReinsAmount, 
qryPolicyListforNYDefPRemAsset_Re.[ReinsAmount]/(qryReinsuranceDPA1_izzy.[SumOfAMOUNT_INFORCE]+qryReinsuranceDPA1_izzy.[SumOfOYT_FACE]+qryReinsuranceDPA1_izzy.[SumOfPUA_FACE]) AS [Reins%], 
qryPolicyListforNYDefPRemAsset_Re.ReinsStatRsv AS ReinsStatRsv, 
Sum(qryPolicyListforNYDefPRemAsset_Re.SumOfGROSS_ANNLZD_PREM) AS ReinsPrem, qryReinsuranceDPA1_izzy.PAID_TO_DATE, 
qryReinsuranceDPA1_izzy.VAL_DATE, 
qryReinsuranceDPA1_izzy.ISSUE_DATE


FROM qryPolicyListforNYDefPRemAsset_Re  RIGHT JOIN 
qryReinsuranceDPA1_izzy
ON 
qryReinsuranceDPA1_izzy.POLICY_NO = qryPolicyListforNYDefPRemAsset_Re.POLICY_NO   
 AND qryReinsuranceDPA1_izzy.PHASE_CODE = qryPolicyListforNYDefPRemAsset_Re.PHASE_CODE AND  
qryReinsuranceDPA1_izzy.SUB_PHASE_CODE= qryPolicyListforNYDefPRemAsset_Re.SUB_PHASE_CODE 
GROUP BY 
qryReinsuranceDPA1_izzy.POLICY_NO, 
qryReinsuranceDPA1_izzy.PHASE_CODE, 
qryReinsuranceDPA1_izzy.SUB_PHASE_CODE,
qryReinsuranceDPA1_izzy.SchedNP, 
qryReinsuranceDPA1_izzy.ProdType, 
qryReinsuranceDPA1_izzy.SumOfGROSS_ANNLZD_PREM, 
qryReinsuranceDPA1_izzy.SumOfStatNetPremium, 
qryReinsuranceDPA1_izzy.[SumOfStatNetPremium]/qryReinsuranceDPA1_izzy.[SumOfGROSS_ANNLZD_PREM], 
qryReinsuranceDPA1_izzy.NetvsGrossInd, 
qryPolicyListforNYDefPRemAsset_Re.ReinType, 
qryPolicyListforNYDefPRemAsset_Re.[ReinsAmount]/(qryReinsuranceDPA1_izzy.[SumOfAMOUNT_INFORCE]+qryReinsuranceDPA1_izzy.[SumOfOYT_FACE]+qryReinsuranceDPA1_izzy.[SumOfPUA_FACE]), 
qryPolicyListforNYDefPRemAsset_Re.ReinsStatRsv,
 qryReinsuranceDPA1_izzy.PAID_TO_DATE, 
 qryReinsuranceDPA1_izzy.VAL_DATE, 
 qryReinsuranceDPA1_izzy.ISSUE_DATE

行く

これは、上記の qry で 2 で除算したいポリシー番号を含む qry です。

SELECT 
qryReinsuranceDPA1.POLICY_NO, 
qryReinsuranceDPA1.PHASE_CODE, 
qryReinsuranceDPA1.SUB_PHASE_CODE, 
qryReinsuranceDPA1.ProdType, 
TotalDPA = Sum(case when [SumOfNetDefExtraAdj] Is Null then [SumOfNetDefPremiumAdj] else [SumOfNetDefPremiumAdj] + SumOfNetDefExtraAdj end), 
Sum(1) AS Expr1
FROM qryPolicyListforNYDefPRemAsset_Re RIGHT JOIN qryReinsuranceDPA1
ON 
qryReinsuranceDPA1.POLICY_NO = qryPolicyListforNYDefPRemAsset_Re.POLICY_NO AND 
qryReinsuranceDPA1.PHASE_CODE= qryPolicyListforNYDefPRemAsset_Re.PHASE_CODE AND 
qryReinsuranceDPA1.SUB_PHASE_CODE = qryPolicyListforNYDefPRemAsset_Re.SUB_PHASE_CODE 
GROUP BY qryReinsuranceDPA1.POLICY_NO, 
qryReinsuranceDPA1.PHASE_CODE, 
qryReinsuranceDPA1.SUB_PHASE_CODE, 
qryReinsuranceDPA1.ProdType
HAVING (((Sum(1))<>1))

行く

簡単な例。ポリシー番号 064543200 がその 2 番目のクエリの結果にあるとします。次に、そのポリシー番号に関連付けられている合計 DPA の最初の qry にある番号を 2 で割ります。

これでもわかりにくい場合はお知らせください。より適切に説明できるように努めます。どちらもビューです。

4

0 に答える 0