2017-04-16 124 views
0

我試着根據日期查詢根據當前日期只有列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以及它們之間與其他日期..我試着這個查詢在winforms與datepicker

這是數據

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 
+0

編輯您的問題,並提供樣本數據和期望的結果。 –

+0

檢查更新問題 –

回答

1

我懷疑這是你想要得到什麼數據:

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),()); 

這將返回每一個行日期加上所有日期的總和以及成本時間數量的總和。

+0

哪裏是todate?我想要這個從日期和時間.. –