Sql server 最近一个月的总和值
我正在使用两个表,t_基金和t_psg2_nav 在t_funds表中,相关列为fundnum和br_cd 在t_psg2_nav中,相关列为calcdate、return_active_daily和fundnum 基本上,我需要一个查询,对最近一个月每个基金每天的收益率进行求和。我想我需要使用JOIN子句,但这对我现在来说有点困难。这里是我所拥有的…我使用的t_funds表仅用于在fundnum和br_cd(名称)之间切换。。。这样对我来说比较容易Sql server 最近一个月的总和值,sql-server,Sql Server,我正在使用两个表,t_基金和t_psg2_nav 在t_funds表中,相关列为fundnum和br_cd 在t_psg2_nav中,相关列为calcdate、return_active_daily和fundnum 基本上,我需要一个查询,对最近一个月每个基金每天的收益率进行求和。我想我需要使用JOIN子句,但这对我现在来说有点困难。这里是我所拥有的…我使用的t_funds表仅用于在fundnum和br_cd(名称)之间切换。。。这样对我来说比较容易 SELECT funds.br_cd AS
SELECT funds.br_cd AS 'Fund Ticker'
, Month(nav.calcdate) AS 'Month'
, SUM(nav.return_active_daily) AS 'MTD Tracking'
FROM dbo.t_psg2_nav AS nav
, t_funds AS funds
INNER JOIN (SELECT fundnum
,month(max(calcdate)) AS calcdate
FROM dbo.t_psg2_nav
GROUP BY fundnum
) AS nav1
ON nav.fundnum = nav1.fundnum
AND nav.calcdate = nav1.calcdate
WHERE funds.fundnum = nav.fundnum
AND funds.fund_type LIKE 'ETF'
将其附加到SQL的末尾:
HAVING Month=Month(NOW())
或者,相当于
HAVING Month=Month(SYSDATE())
(编辑)
仅显示来自f.ex的记录。3月(第3个月):
可能将
NOW()
替换为SYSDATE()
。使用旧MySQL?@user1001244如果有帮助,请更新我的答案(而不是我的评论)。可能应该提到。。。我得到的错误是多部分标识符nav.fundnum和nav.calcdate“无法绑定。@user1001244好吧,这是一个新问题,与标题/您首先问的问题无关。为了回答这个问题,我们可能需要对您的表结构进行概述。如果需要,请作为单独的问题提问。您可能使用的是SQL Server而不是MySQL。请用正确的信息(标签)更新您的问题。你有哪个确切的版本,2000年,2005年,2008年,其他?显示我知道多少-更新标签,谢谢。我不完全确定它是哪个版本。。。我猜是2005年
HAVING Month=3