[問題] SQL時間獲取資料問題

看板C_Sharp (C#)作者 (嘟嘟)時間12年前 (2013/02/28 16:50), 編輯推噓0(0010)
留言10則, 1人參與, 最新討論串1/1
最近遇到一個時間上獲取資料的問題 類似以下狀況 今天我有一份EXCEL檔 欄位設定類似於下方 預估出貨時間 2/28 3/1 3/2 3/3 3/4 出貨日期 2/26 空 空 空 空 空 2/27 空 空 空 空 空 現在SQL資料庫每一筆資料都會有自己的出貨日期與預估出貨時間 那現在我需要統計比數於EXCEL中 例如: 資料庫中出貨日期是2/26號,預估出貨時間是2/28號 這樣的筆數有兩筆,那在對應的空白欄位上就填上2 目前我採取暴力法,在C#中一個一個慢慢取出來 但因為出貨日期的設定與預估出貨時間設定都是根據當日情況做選擇 以此例來說 本日是2/28號,那出貨時間要抓前兩天 預估出貨時間抓後五天(含當天2/28) 有沒有比較好的方法 能夠在SQL中就歸類出上方日期中所要的資料筆數 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.4.61

02/28 17:43, , 1F
看不懂,前2天後5天是啥?資料範圍嗎?
02/28 17:43, 1F

02/28 17:43, , 2F
sql內的table的格式是長得怎樣呢?
02/28 17:43, 2F
算是資料範圍(以時間當作範圍) SQL內欄位類似於 ID 貨物名稱 貨物重量 出貨日期 預估出貨時間 例如現在SQL內有幾筆資料是 25 肉乾 25g 2/27 3/2 26 冰棒 05g 2/27 3/1 27 燒賣 10g 2/26 3/1 28 餅乾 20g 2/27 3/3 29 玩具 13g 2/26 3/1 歸類一下就是 出貨日期是2/26號有2筆,這兩筆預估出貨時間皆為是3/1號 出貨日期是2/27號有3筆,預估出貨時間分別為3/1,3/2,3/3 重填入EXCEL表格就是 預估出貨時間 2/28 3/1 3/2 3/3 3/4 出貨日期 2/26 空 2 空 空 空 2/27 空 1 1 1 空 空格內所填皆為搜出資料的筆數 ※ 編輯: jason81418 來自: 123.195.4.61 (02/28 17:59)

02/28 17:54, , 3F
假設欄位:Fr=預估出貨日,Sp=出貨日; @today 今天
02/28 17:54, 3F

02/28 17:54, , 4F
select count(*) 筆數,Fr,Sp
02/28 17:54, 4F

02/28 17:54, , 5F
from tableA→假設table名為tableA
02/28 17:54, 5F

02/28 17:54, , 6F
where Fr between @today and @today+4天 (日期麻煩自己加)
02/28 17:54, 6F

02/28 17:54, , 7F
and Sp in (@today-2天, @today-1天)
02/28 17:54, 7F

02/28 17:54, , 8F
group by Fr,Sp
02/28 17:54, 8F

02/28 17:56, , 9F
查出來會是: 筆數, 預估出貨日, 出貨日→用excel很方便轉置
02/28 17:56, 9F

02/28 17:57, , 10F
要用sql語法轉也可, 網路上也有範例
02/28 17:57, 10F
文章代碼(AID): #1HBnfiJU (C_Sharp)
文章代碼(AID): #1HBnfiJU (C_Sharp)