Dear các anh chị,
Em mới học viết chưa rành, nên viết hơi lộn xộn anh chị giúp đỡ ạ.
Em có 1 thủ tục chạy trên sql server thì chạy ok.
Nhưng khi sử dụng Linq để dùng thì báo lỗi không chạy được.
Thủ tục khác thì em chạy được. Không hiểu sao con này lỗi.
Em tìm hiểu nhưng chưa sửa được.
Mong anh chị giúp đỡ.
Em cảm ơn!
ALTER Proc [dbo].[testReportEnd]
(
@para int,
@year int
)
AS
BEGIN
DECLARE @ThangXin nvarchar(20) = CONCAT(@year,'-',@para,'-01');
--Declare @ThangXin DateTime = (CONVERT(DATETIME,@ThangXin0));
Declare @thangHienTai DateTime =DATEADD(MONTH, -0, @ThangXin);
Declare @thang1 DateTime =DATEADD(MONTH, -1, @ThangXin);
Declare @thang2 DateTime =DATEADD(MONTH, -2, @ThangXin);
Declare @thang3 DateTime =DATEADD(MONTH, -3, @ThangXin);
Declare @thang1ConDau VARCHAR(25) = CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(@thang1)-1),@thang1),101);
Declare @thang1ConCuoi VARCHAR(25) = CONCAT(CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,1,@thang1))),DATEADD(mm,1,@thang1)),101),' ','23:59:59.999');
Declare @thang2ConDau VARCHAR(25) = CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(@thang2)-1),@thang2),101);
Declare @thang2ConCuoi VARCHAR(25) = CONCAT(CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,1,@thang2))),DATEADD(mm,1,@thang2)),101),' ','23:59:59.999');
Declare @thang3ConDau VARCHAR(25) = CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(@thang3)-1),@thang3),101);
Declare @thang3ConCuoi VARCHAR(25) = CONCAT(CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,1,@thang3))),DATEADD(mm,1,@thang3)),101),' ','23:59:59.999');
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 OutputDate between @thang3ConDau and @thang3ConCuoi group by ItemMasterNo) AS cave1
ON v.ItemMasterNo=cave1.ItemMasterNo
LEFT JOIN (SELECT ItemMasterNo,SUM(Quantity) as Quantity_M2 FROM tblOutput WHERE OutputDate between @thang2ConDau and @thang2ConCuoi group by ItemMasterNo) as cave2
ON v.ItemMasterNo=cave2.ItemMasterNo
LEFT JOIN (SELECT ItemMasterNo, SUM(quantity) as Quantity_M3 FROM tblOutput WHERE OutputDate between @thang1ConDau and @thang1ConCuoi GROUP BY ItemMasterNo) as cave3
ON v.ItemMasterNo=cave3.ItemMasterNo
where v.ItemMasterNo = cave1.ItemMasterNo or v.ItemMasterNo = cave2.ItemMasterNo or v.ItemMasterNo = cave3.ItemMasterNo
END