Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 筛选数据时数据库中出现错误结果_Sql_Sql Server - Fatal编程技术网

Sql 筛选数据时数据库中出现错误结果

Sql 筛选数据时数据库中出现错误结果,sql,sql-server,Sql,Sql Server,在过去的10天里,我面临着一个问题;我试了很多次,但没有找到解决办法 我正在开发一个餐厅POS 我正在为每日销售创建报告;在获取日常销售数据的SQL查询中,我遇到了一个问题 我餐厅的营业时间是13:00,明天4:00关门 像这样: 开放日期和时间为2019年8月14日和13:00 截止日期和时间为2019年8月15日和4:00 我们有24小时制 我正在尝试这个SQL查询。但我总是得到这样的结果: Total sale = 0.00 请帮帮我。我建议将三个参数(日期相关)传递给您的过程:@年

在过去的10天里,我面临着一个问题;我试了很多次,但没有找到解决办法

我正在开发一个餐厅POS

我正在为每日销售创建报告;在获取日常销售数据的SQL查询中,我遇到了一个问题

我餐厅的营业时间是13:00,明天4:00关门

像这样:

  • 开放日期和时间为2019年8月14日和13:00
  • 截止日期和时间为2019年8月15日和4:00
我们有24小时制

我正在尝试这个SQL查询。但我总是得到这样的结果:

Total sale = 0.00

请帮帮我。

我建议将三个参数(日期相关)传递给您的过程:
@年
@月
@日
。最后在过程中编写select语句,如下所示:

SELECT 
    COALESCE(SUM(c.[Receableamount]), 0) AS 'receivable' 
FROM 
    [dbo].[Customer_Bill_Details] c 
WHERE 
    YEAR(DATEADD(HH, -4, (DATEADD(day, DATEDIFF(day, 0, Billdate), BillTime)))) = @Year
    AND MONTH(DATEADD(HH, -4, (DATEADD(day, DATEDIFF(day, 0, Billdate), BillTime)))) = @Month
    AND DAY(DATEADD(HH, -4, (DATEADD(day, DATEDIFF(day, 0, Billdate), BillTime)))) = @Day

如你所见,我离你的Billdate只有不到4个小时的时间,这将把你所有的日常交易从2天拉到1天,按年/月/日过滤(单次)将为你提供预期的结果。您可以根据需要向脚本中添加其他必要的筛选器。

您正在运行的SQL查询是什么?这是什么类型的SQL(例如MS SQL MySQL)?您是否有希望返回的某些数据行的示例?使用SQL Server 2014,我尝试使用rhis查询
ALTER过程[dbo]。[USP_Select_sale_Baseon_Employee](@Emid int、@Dateofbil datetime、@Todate datetime、@Fromtime time(7)、@Endtime time(7))作为开始选择合并(sum(c.[receiableamount]),0)从[dbo].[Customer\u Bill\u Details]c“可接收”,其中[EmID]=@EmID和[Billdate]>=@dateofbill和billdtime>=@Fromtime和[Billdate]尝试分解该过程,例如,首先运行一个简单的SQL查询,在其中定义参数。假设不返回任何内容,则在您返回数据之前,请先删除WHERE子句。请不要将代码示例或示例数据放入注释中-因为您无法对其进行格式化,因此很难读取它。。。。取而代之的是:通过编辑你的问题来更新它,以提供额外的信息!谢谢。我在数据库中有两个不同的列,一个是日期,另一个是时间。给出一个样本日期和时间值BillDate=2019-08-10 00:00:00.000和billTime=22:28:38.0000000我不知道如何添加样本数据的图像我得到了它。不需要图像。