我创建了一个包含多个cte语句的sql查询。我从这四个表中提取了policynumber和fundvalue:ind、int、ract1和ract3。
下面是代码的最后一部分:
table8_CTE as
(Select PolicyNumber, IND_FundValue, INT_FundValue, RACT1_FundValue,
RACT3_FundValue, FOPER_FundValue, RXXXXV05_FundValue, FDECRSTD_FundValue,
abs(FDECRSTD_FundValue - IND_FundValue) as IND_Diff, abs(FDECRSTD_FundValue-INT_FundValue) as INT_Diff, abs(FDECRSTD_FundValue - RACT1_FundValue) as RACT1_Diff,
abs(FDECRSTD_FundValue - RACT3_FundValue) as RACT3_Diff, abs(FDECRSTD_FundValue - FOPER_FundValue) as FOPER_Diff,
abs(FDECRSTD_FundValue - RXXXXV05_FundValue) as RXXXXV05_Diff
from table7_CTE
--where InvestmentCode > 4
group by PolicyNumber, IND_FundValue, INT_FundValue, RACT1_FundValue, RACT3_FundValue, FOPER_FundValue, RXXXXV05_FundValue, FDECRSTD_FundValue
)
--Only View Policies were Differences Exist
Select distinct PolicyNumber, IND_FundValue, INT_FundValue, RACT1_FundValue,
RACT3_FundValue, FOPER_FundValue, RXXXXV05_FundValue, FDECRSTD_FundValue,
abs(FDECRSTD_FundValue - IND_FundValue) as IND_Diff, abs(FDECRSTD_FundValue-INT_FundValue) as INT_Diff, abs(FDECRSTD_FundValue - RACT1_FundValue) as RACT1_Diff,
abs(FDECRSTD_FundValue - RACT3_FundValue) as RACT3_Diff, abs(FDECRSTD_FundValue - FOPER_FundValue) as FOPER_Diff,
abs(FDECRSTD_FundValue - RXXXXV05_FundValue) as RXXXXV05_Diff
from table8_CTE
where (IND_Diff <> 0 or RACT1_Diff <> 0 or RACT3_Diff <> 0 or FOPER_Diff <> 0 or RXXXXV05_Diff <> 0 or INT_Diff <> 0)
group by PolicyNumber, IND_FundValue, INT_FundValue, RACT1_FundValue, RACT3_FundValue, FOPER_FundValue, RXXXXV05_FundValue, FDECRSTD_FundValue
代码返回所有这些表的fundvalue以及它们之间的差异。
输出如下所示:
PolicyNumber IND_FundValue INT_FundValue RACT1_FundValue RACT3_FundValue
--------------------------------------------------------------------------------
1309480 18686.10 14880.07 11074.04 11074.04
813659 281099.22 75649.98 83659.88 339863.98
300000行等
然后,我添加了一个select语句来从源表返回policycount:
Select (select count(1)
from (Select distinct PolicyNumber
from FinancialExtracts.dbo.INDCONEX
where RunDate = '20200531') as IND_PolicyCount
) as IND_PolicyCount,
(Select count(1)
from (Select distinct PolicyNumber
from FinancialExtracts.dbo.INTCRDEX
where RunDate = '20200531') as INT_PolicyCount
) as INT_PolicyCount,
(Select count(1)
from (Select distinct PolicyNumber
from FinancialExtracts.dbo.RACT1CR1_01
where RunDate = '20200531') as RACT1_PolicyCount
) as RACT1_PolicyCount,
(Select count(1)
from (Select distinct PolicyNumber
from FinancialExtracts.dbo.RACT3CR1_01
where RunDate = '20200531') as RACT3_PolicyCount
) as RACT3_PolicyCount,
我希望我的输出有两个独立的面板,其中有两个不同的结果表。第一个是原始输出。第二个是输出表中所有policynumbers的计数,与原始源表中所有policynumbers的计数进行比较。
如何在select语句中引用主查询输出表,而不添加my cte
我刚刚开始学习sql,所以任何建议都是有用的。谢谢
暂无答案!
目前还没有任何答案,快来回答吧!