Sql server 根据日期获取记录
我根据日期尝试此查询,根据当前日期,我在该记录中只有datecurrent列,因此几乎有5天的记录具有不同的日期,现在我想根据我使用的日期获取记录,但这显示了所有记录,而我想获取特定日期的记录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
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), () );
这将返回每个日期一行加上所有日期的总和,以及成本乘以数量的总和。编辑您的问题,并提供示例数据和所需结果。检查更新问题