年ごとにグループ化された統合レポートを示すこのデータがあります。私が使用したのは単純な
GROUP BY YEAR(BookingDate)
句で、すべてが正常に機能します。しかし、私が望むのは、通常の暦年ではなく、会計年度(1 April
to )になる年です。では、どうすればこれを行うことができますか?31 May
クエリは..
SELECT
CONVERT(VARCHAR(25), c.Duration) AS Duration,
COALESCE(c.totalbookings, 0) AS totalbookings
FROM
(SELECT
YEAR(bookingdate) AS Duration,
COUNT(*) AS totalbookings
FROM
entbookings
WHERE BranchId=@Branchid
GROUP BY YEAR(bookingdate)
) AS c
LEFT OUTER JOIN
(SELECT
Duration,
SUM(totalitems) 'bkdqty'
FROM
[yrItemWISeTotalQty] (@BranchId) AS BkdQty
GROUP BY Duration
) AS d
ON c.Duration = d.Duration
は次のyrItemWISeTotalQty
ように定義されます
CREATE FUNCTION [dbo].[yrItemWiseTotalQty]
(
@BrachId VARCHAR(MAX)
)
RETURNS TABLE AS
RETURN
SELECT
YEAR(EntBookings.BookingDate) AS Duration,
Sum(dbo.EntBookings.ItemCost) AS totalcost,
WHERE EntBookings.BranchId = @BrachId
GROUP BY Year(EntBookings.BookingDate)
繰り返しになりますが、私はそれを使用GROUP BY Year()
してうまく機能しますが、fy ie(4月1日から3月31日)を取るように変更する必要があります。どうすればいいですか?