0
好日子比较两排
我有以下结果集返回:
financeYearEnd FromDate ToDate ClientPortfolioCode
2013-12-31 00:00:00.000 2014-01-01 2014-01-31 C1
2013-12-31 00:00:00.000 2014-01-01 2014-01-31 C2
2012-12-31 00:00:00.000 2013-12-01 2013-12-31 C1
2012-12-31 00:00:00.000 2013-12-01 2013-12-31 C2
我需要做的是以下几点:
我需要比较的financeYearEnd所有的C1字段(总是只有两个),看看它们是否彼此不同
2013-12-31 00:00:00.000 2014-01-01 2014-01-31 C1
2012-12-31 00:00:00.000 2013-12-01 2013-12-31 C1
如所见,financeYearEnd确实不同,所以我需要将该结果作为行存储在临时表中。
这需要对所有不同ClientPortfolioCodes(总是出现在两组)
如何才能实现这一目标做?我试过select distinct ..
- 没有工作。这回我的所有行
编辑 -
WITH cteCompareTopTwoYears
AS (
SELECT TOP (
SELECT COUNT(*) * 2
FROM #ClientPortFolios
) FinancialYearEnd AS financeYearEnd
,FromDate
,ToDate
,CA.ClientPortfolioCode
FROM rpt.F3_fn_ClientPortfolios_CapitalAccount_IncludingYTD CA
WHERE (
(
CA.FromDate = (DATEADD(m, - 1, @FromDate))
AND CA.ToDate = (DATEADD(m, - 1, @ToDate))
)
OR (
CA.FromDate = @FromDate
AND CA.ToDate = @ToDate
)
)
AND (
CA.ClientPortFolioCode IN (
SELECT ClientPortfolioCode
FROM #ClientPortfolios
)
)
ORDER BY FromDate DESC
)
SELECT *
FROM cteCompareTopTwoYears c
这只是事情。我从CTE生成了这张表。现在发布。 – Eon
我已经发布了CTE桌子信息被检索的地方 – Eon
我的小脑子在头几分钟没有抓住分区,之后我浏览了大量书籍和在线资源。我...感到开悟。谢谢 – Eon