Người dùng sẽ select tháng và năm.
Như trong đoạn code dưới em có lọc ra 3 tháng trước ạ.
Trường hợp người dùng chọn tháng 2-2020 thì làm thế nào để lọc được ra 3 tháng trước đó là tháng 11-2019, 12-2019, 01-2020 ạ.
Em cảm ơn mọi người đã giúp đỡ.
create Proc [dbo].[testReport3]
(
@para int,
@year int
)
AS
BEGIN
SELECT cave1.Quantity_M1, cave2.Quantity_M2, cave3.Quantity_M3 , v.* ,
(select ((coalesce(cave1.Quantity_M1,0) + coalesce(cave2.Quantity_M2,0) + coalesce(cave3.Quantity_M3,0))/3) as tb ) as Average
FROM tblMasterListStationery v
LEFT JOIN (SELECT ItemMasterNo,SUM(Quantity) as Quantity_M1 FROM tblOutput WHERE MONTH(OutputDate)=@para-3 and YEAR(OutputDate)=@year group by ItemMasterNo) AS cave1
ON v.ItemMasterNo=cave1.ItemMasterNo
LEFT JOIN (SELECT ItemMasterNo,SUM(Quantity) as Quantity_M2 FROM tblOutput WHERE MONTH(OutputDate)=@para-2 and YEAR(OutputDate)=@year group by ItemMasterNo) cave2
ON v.ItemMasterNo=cave2.ItemMasterNo
LEFT JOIN (SELECT ItemMasterNo, SUM(quantity) as Quantity_M3 FROM tblOutput WHERE MONTH(OutputDate)=@para-1 and YEAR(OutputDate)=@year GROUP BY ItemMasterNo) cave3
ON v.ItemMasterNo=cave3.ItemMasterNo
where v.ItemMasterNo = cave1.ItemMasterNo or v.ItemMasterNo = cave2.ItemMasterNo or v.ItemMasterNo = cave3.ItemMasterNo
END
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?