[英]Issue In Sql Stored Procedure
在下面的SQL查询中,当我在条件中的某些值中执行它时显示数据,并且如果我将值放置在[Sp_GrnValuationReportV1]-1,'GR140000001','GR140000009','2014-10-11','2014- 12-25'没有显示任何数据。请帮助我解决此问题。
ALTER PROCEDURE [dbo].[Sp_GrnValuationReportV1] --1,'GR140000001','GR140000009','2014-10-11','2014-12-25'
-- Add the parameters for the stored procedure here
@i_LocationID int,
@i_GrnStartNo varchar,
@i_GrnEndNo varchar,
@d_StartDate DATE,
@d_EndDate DATE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT DISTINCT GRN.GoodsReceivedNoteNo,GRN.LocationID,GRN.CreatedOn,PO.PurchaseOrderNo,V.VendorName,
GRN.SupplierInvoiceNo,GRN.SupplierInvoiceDate,SR.LRNO,T.TransporterName,
CASE
WHEN Count(GRND.GoodsReceivedNoteID) OVER(partition BY GRND.GoodsReceivedNoteID) > 1
THEN Isnull(( GRND.FreightCharges ), 0.00)
ELSE Isnull(( OEC.FreightCharges ), 0.00)
END FreightCharge,CASE
WHEN Count(GRND.GoodsReceivedNoteID) OVER(partition BY GRND.GoodsReceivedNoteID) > 1
THEN Isnull(( GRND.LoadingCost + GRND.UnloadingCost ), 0.00)
ELSE Isnull(( OEC.LoadingCost + OEC.UnloadingCost ), 0.00)
END LoadingandUnloadingcharges ,
P.ProductCode,P.ProductName,GRND.ReceivedQuantity,GRND.RejectedQuantity,GRND.AcceptedQuantity,
GRND.UnitPrice AS BasicRate,ISNULL( (GRND.UnitPrice*GRND.ReceivedQuantity),0.00) BasicValue,GRND.VAT,CASE
WHEN Count(GRND.GoodsReceivedNoteID) OVER(partition BY GRND.GoodsReceivedNoteID) > 1
THEN Isnull(( GRND.FreightCharges ), 0.00)
ELSE Isnull(( OEC.FreightCharges ), 0.00)
END FreightApportioned,
CASE
WHEN Count(GRND.GoodsReceivedNoteID) OVER(partition BY GRND.GoodsReceivedNoteID) > 1
THEN Isnull(( GRND.LoadingCost + GRND.UnloadingCost ), 0.00)
ELSE Isnull(( OEC.LoadingCost + OEC.UnloadingCost ), 0.00)
END LoadingandUnloadingApportioned,ISNULL((GRND.UnitPrice+OEC.FreightCharges+OEC.LoadingCost+OEC.UnloadingCost),0.00)AS TotalCost
FROM GoodsReceivedNoteDetail GRND
LEFT OUTER JOIN GoodsReceivedNote GRN ON GRN.GoodsReceivedNoteID=GRND.GoodsReceivedNoteID
LEFT OUTER JOIN PurchaseOrder PO ON PO.PurchaseOrderID=GRN.PurchaseOrderID
LEFT OUTER JOIN Vendor V ON V.VendorID=PO.VendorID
LEFT OUTER JOIN SecurityRegister SR ON SR.SecurityRegisterID=GRN.SecurityRegisterID
LEFT OUTER JOIN Transporter T ON T.TransporterID=SR.TransporterID
LEFT OUTER JOIN OtherExpenseCost OEC ON OEC.GoodsReceivedNoteID=GRN.GoodsReceivedNoteID
LEFT OUTER JOIN Product P ON P.ProductID=GRND.ProductID
--WHERE GRN.LocationID=@i_LocationID AND GRN.GoodsReceivedNoteNo>=@i_GrnStartNo AND GRN.GoodsReceivedNoteNo<=@i_GrnEndNo or GRN.CreatedOn>=@d_StartDate AND GRN.CreatedOn<=@d_EndDate
WHERE CAST( GRND.CreatedOn AS DATE)>=@d_StartDate AND GRN.LocationID=1 AND CAST( GRND.CreatedOn AS DATE) <=@d_EndDate AND GRN.GoodsReceivedNoteNo>= @i_GrnStartNo AND GRN.GoodsReceivedNoteNo <=@i_GrnEndNo
要在大查询中查找问题,请遵循以下说明
*
。 我的意思是更改查询以select * from
我希望这可以帮助你
提及varchar的大小
@i_GrnStartNo varchar(50),
@i_GrnEndNo varchar(50),
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.