【问题标题】:Executing a stored procedure in SQL Server?在 SQL Server 中执行存储过程?
【发布时间】:2014-03-08 03:41:01
【问题描述】:
ALTER PROCEDURE [dbo].[K_FS_GetDynamicdatatoTable] --'2014031711','1/15/2014 12:00:00 AM'
    @orderno varchar(50),
    @date datetime  
AS
BEGIN
  SET NOCOUNT ON;

  SELECT 
     FT.feedtype, BG.bagtype, OD1.noofbags, round(MR.rateperkg, 3) AS rateperkg     
  FROM
     K_FS_OrderDetails OD
  INNER JOIN
     K_FS_OrderDetails1 OD1 ON OD.sno = OD1.ID
  INNER JOIN
     K_FS_bagtype BG ON BG.sno = OD1.bagtype
  INNER JOIN 
     K_FS_FeedMrpDetails MR ON MR.feedtype = OD1.feedtype
  INNER JOIN
     k_FPS_FeedType FT ON FT.sno = MR.feedtype AND FT.sno = OD1.feedtype
  WHERE
     OD.orderno = @orderno AND MR.date = @date
END

在我的程序中,没有成功执行条件,如果我通过 OD.Orderno 则不是问题..但是如果我提到 MR.date 然后没有找到数据...在这我错了吗?

这里

select * from K_FS_FeedMrpDetails where date = '2013-12-16 00:00:000'

“日期”数据也可用于我的程序,但找不到数据...请帮助我?

【问题讨论】:

  • 在您的查询中,您只想将 MR.date 与日期进行比较?我的意思是如果我在您的查询中忽略来自 @date 变量的时间怎么办?
  • 我知道了,谢谢回复

标签: asp.net sql sql-server-2008 stored-procedures


【解决方案1】:

试试这个

ALTER PROCEDURE [dbo].[K_FS_GetDynamicdatatoTable] --'2014031711','1/15/2014 12:00:00 AM'
@orderno varchar(50),
@date datetime  
AS
BEGIN

  SET NOCOUNT ON;
  select FT.feedtype,BG.bagtype,OD1.noofbags,round(MR.rateperkg,3)as rateperkg     
  from K_FS_OrderDetails OD
  Left join K_FS_OrderDetails1 OD1 on OD.sno=OD1.ID
  Left join K_FS_bagtype BG on BG.sno=OD1.bagtype
  Left join K_FS_FeedMrpDetails MR on MR.feedtype=OD1.feedtype
  Left join k_FPS_FeedType FT on FT.sno=MR.feedtype and FT.sno=OD1.feedtype
  where OD.orderno=@orderno and CONVERT(VARCHAR(10),MR.date,110)= CONVERT(VARCHAR(10),@date,110)

 END

【讨论】:

  • @SambaSiva 我已经更新了解决方案。请立即检查.. 并尝试使用左连接而不是内连接
  • np...我会尝试为您的解决方案
猜你喜欢
  • 1970-01-01
  • 2016-10-21
  • 2011-11-07
  • 1970-01-01
  • 1970-01-01
  • 2011-05-07
  • 1970-01-01
  • 2021-05-22
  • 2016-10-15
相关资源
最近更新 更多