Sql 为了赎回这些资金,我们将在3月初收到通知,告知正在赎回,但3月的股价尚未确定(股价根据每月评估的房地产资产净值确定)因此,在相关月份的股价公布之前,它需要具有基于最新股价的报告价值。这是否符合用例场景?非常感谢你的帮助!!!我使用查询来获取数据,以便在SQ
Sql 为了赎回这些资金,我们将在3月初收到通知,告知正在赎回,但3月的股价尚未确定(股价根据每月评估的房地产资产净值确定)因此,在相关月份的股价公布之前,它需要具有基于最新股价的报告价值。这是否符合用例场景?非常感谢你的帮助!!!我使用查询来获取数据,以便在SQ,sql,sql-server,sql-server-2008,tsql,reporting-services,Sql,Sql Server,Sql Server 2008,Tsql,Reporting Services,为了赎回这些资金,我们将在3月初收到通知,告知正在赎回,但3月的股价尚未确定(股价根据每月评估的房地产资产净值确定)因此,在相关月份的股价公布之前,它需要具有基于最新股价的报告价值。这是否符合用例场景?非常感谢你的帮助!!!我使用查询来获取数据,以便在SQL Reporting中生成报告。谢谢,菲洛普斯。。。当我最初发布时,我忘记了按共享类型分组。我现在已经这样做了。这样更好吗?如果没有,请详细说明我的查询没有提供所需结果的方式。 select year(redemptiondate), mon
为了赎回这些资金,我们将在3月初收到通知,告知正在赎回,但3月的股价尚未确定(股价根据每月评估的房地产资产净值确定)因此,在相关月份的股价公布之前,它需要具有基于最新股价的报告价值。这是否符合用例场景?非常感谢你的帮助!!!我使用查询来获取数据,以便在SQL Reporting中生成报告。谢谢,菲洛普斯。。。当我最初发布时,我忘记了按共享类型分组。我现在已经这样做了。这样更好吗?如果没有,请详细说明我的查询没有提供所需结果的方式。
select year(redemptiondate), month(redemptiondate),
sum(r.NumShares*sp.Price) as TotalPrice
from Redemptions r left outer join
ShareType st
on r.sharetype = st.sharetype left outer join
SharePrice sp
on st.sharename = sp.sharename and r.redemptiondate = sp.pricedate
group by year(redemptiondate), month(redemptiondate)
order by 1, 2;
select shares.id, shares.name, sum (redemption.quant * shareprices.price)
from shares
inner join redemption on shares.id = redemption.share
inner join shareprices on shares.id = shareprices.share
where redemption.curdate between :p1 and :p2
order by shares.id
group by shares.id, shares.name
SELECT s.ShareType, SUM(ISNULL(sp.SharePrice, 0) * ISNULL(r.NumRedemptions, 0)) [RedemptionPrice]
FROM dbo.Shares s
LEFT JOIN dbo.Redemptions r
ON r.ShareType = s.ShareType
OUTER APPLY (
SELECT TOP 1 SharePrice
FROM dbo.SharePrice p
WHERE p.ShareType = s.ShareType
AND p.ValuationDate <= r.RedemptionDate
ORDER BY p.ValuationDate DESC) sp
WHERE r.RedemptionDate BETWEEN @Date1 AND @Date2
GROUP BY s.ShareType
SELECT
ST.ShareType,
RedemptionMonth = DateAdd(month, DateDiff(month, 0, R.RedemptionDate), 0),
TotalShareValueRedeemed = Sum(P.SharePrice * R.SharesRedeemed)
FROM
dbo.Redemption R
INNER JOIN dbo.ShareType ST
ON R.ShareTypeID = ST.ShareTypeID
CROSS APPLY (
SELECT TOP 1 P.*
FROM dbo.SharePrice P
WHERE
R.ShareTypeID = P.ShareTypeID
AND R.RedemptionDate >= P.SharePriceDate
ORDER BY P.SharePriceDate DESC
) P
GROUP BY
ShareType,
DateAdd(month, DateDiff(month, 0, R.RedemptionDate), 0)
ORDER BY
ShareType,
RedemptionMonth
;