Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 server 根据日期获取记录_Sql Server_Date - Fatal编程技术网

Sql server 根据日期获取记录

Sql server 根据日期获取记录,sql-server,date,Sql Server,Date,我根据日期尝试此查询,根据当前日期,我在该记录中只有datecurrent列,因此几乎有5天的记录具有不同的日期,现在我想根据我使用的日期获取记录,但这显示了所有记录,而我想获取特定日期的记录 select c.Orderid,c.DateCurrent,c.Quantity,c.ItemCost,i.ItemCost*c.quantity as Bill from CustomerOrder c inner join item i on i.ItemId=c.ItemId inner

我根据日期尝试此查询,根据当前日期,我在该记录中只有datecurrent列,因此几乎有5天的记录具有不同的日期,现在我想根据我使用的日期获取记录,但这显示了所有记录,而我想获取特定日期的记录

   select c.Orderid,c.DateCurrent,c.Quantity,c.ItemCost,i.ItemCost*c.quantity 
as Bill from CustomerOrder c inner join item i on i.ItemId=c.ItemId 
inner join userinformation ui on ui.userid=c.userid 
where c.datecurrent as fromdate > '2017-04-13'  union all 
select null,null,null,null,sum (i.ItemCost*c.Quantity) bill
  from CustomerOrder c  inner join item i on i.itemid=c.ItemId
   inner join userinformation ui on ui.userid=c.userid where c.datecurrent as todate > '2017-04-15'
有16个日期和以上的记录查询显示16个日期记录,其中我只需要那些介于13和15之间且与其他日期相同的记录。。我使用datepicker在winforms中尝试此查询

这是数据

 Orderid    DateCurrent Quantity    ItemCost    Bill
101 2017-04-16 14:35:45.823 12  10  120
1093    2017-04-16 17:32:36.250 2   10  20
2093    2017-04-16 17:32:36.250 2   10  20
2094    2017-04-13 17:32:36.250 4   10  400
2095    2017-04-15 17:32:36.250 5   10  50
2096    2017-04-15 17:32:36.250 10  10  1000
2097    2017-04-14 17:32:36.250 12  10  120
NULL    NULL    NULL    NULL    1210
这是我想要的数据,如果我只输入13和15之间的日期

Orderid DateCurrent Quantity    ItemCost    Bill
2094    2017-04-13 17:32:36.250 4   10  400
2095    2017-04-15 17:32:36.250 5   10  50
2096    2017-04-15 17:32:36.250 10  10  1000
2097    2017-04-14 17:32:36.250 12  10  120
NULL    NULL    NULL    NULL    1210

我怀疑这正是你想要的:

select c.DateCurrent, sum(i.ItemCost * c.quantity) as Bill
from CustomerOrder c inner join
    item i
    on i.ItemId = c.ItemId  
where c.datecurrent >= '2017-04-13'
group by grouping sets ( (c.DateCurrent), () );

这将返回每个日期一行加上所有日期的总和,以及成本乘以数量的总和。

编辑您的问题,并提供示例数据和所需结果。检查更新问题