gpt4 book ai didi

sql - 2月29日与去年2月28日相比

转载 作者:行者123 更新时间:2023-12-02 03:27:00 25 4
gpt4 key购买 nike

我有一个存储过程,可以提取数据并连接去年的日期数据。问题是,今年的数据没有任何数据可以加入,因为 2011 年没有 2 月 29 日。还有其他人遇到过这个问题吗?有人对如何解决这个问题有任何想法吗?

这是存储过程:

SELECT 
--b.Date_Rep AS Date_Rep,
SUM(b.AccountsCreatedThisYear) AS AccountsCreatedThisYearTot,
SUM(a.AccountsCreatedThisYear) AS AccountsCreatedLastYearTot,

FROM Report2011.dbo.T_Report_01 b WITH (NOLOCK) --This year
LEFT JOIN Report2011.dbo.T_Report_01 a WITH (NOLOCK) ON DATEADD(yyyy,-1,b.Date_Rep) = a.date_rep --Last year
WHERE (a.Date_Rep BETWEEN DATEADD(year, -1,@StartDate) AND DATEADD(year, -1,@EndDate))

最佳答案

对于初学者来说,我不会对左连接外侧表中的列执行 where 子句。试试这个:

SELECT SUM(b.AccountsCreatedThisYear) AS AccountsCreatedThisYearTot,
SUM(a.AccountsCreatedThisYear) AS AccountsCreatedLastYearTot,
FROM Report2011.dbo.T_Report_01 b WITH (NOLOCK) --This year
LEFT JOIN Report2011.dbo.T_Report_01 a WITH (NOLOCK)
ON DATEADD(yyyy,-1,b.Date_Rep) = a.date_rep --Last year
WHERE b.Date_Rep BETWEEN @StartDate AND @EndDate

关于sql - 2月29日与去年2月28日相比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9517700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com