[SQL ] 請教語法的撰寫..

看板Database作者 (麥田)時間16年前 (2009/04/23 05:15), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/2 (看更多)
資料庫: MS SQL 2008 Express OS : windows XP 我有二個表格,分別為 GList, GType [GList 欄位] GId int '(key) GTypeId int ' 貨物的 id IoDate Date ' 進出日期 IoCnt Int ' 進出量 IsUp Bit ' 是否有效, 1 為有效 資料: GId GTypeId IoDate IoCnt IsUp 1 1 2009/4/20 14 1 2 2 2009/4/20 5 1 3 3 2009/4/20 6 1 4 1 2009/4/20 -4 1 5 1 2009/4/21 -1 0 6 3 2009/4/22 2 1 7 2 2009/4/23 3 1 8 1 2009/4/23 4 1 [GType 欄位] GTypeId int ' 貨物的id (key) GTypeName nvarchar ' 貨物名稱 資料: GTypeId GTypeName 1 AAAA 2 BBBB 3 CCCC 我想要查輸入貨物id與日期範圍,就可以列出這貨物這些天的每天進出小計表, 也必須是有效資料。另外,如果在日期範圍內沒有進出,也要列 0 如, 輸入GTypeId = 1, 日期(IoDate)範圍 between 2009/4/20 and 2009/4/22 列出來資料應該是這樣 名稱 日期 進出 AAA 2009/4/20 10 AAA 2009/4/21 -1 AAA 2009/4/22 0 請教各位前輩,這樣的語法該怎麼寫呢? 我寫到這樣,想不出該怎麼寫了,特別是那每天列出的部分 SELECT SUM(GList.IoCnt) AS cnt, GList.IoDate, GType.GTypeName FROM GList INNER JOIN GType ON GList.GTypeId = GType.GTypeId WHERE (GList.GId = 1) AND (GList.IoDate >= '2009/4/20') AND (GList.IoDate <= '2009/4/22') GROUP BY GList.IoDate, GType.GTypeName ORDER BY GList.IoDate -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.144.208

04/23 10:44, , 1F
WHERE (GList.GId=1) 先改為 WHERE (GList.GTypeId=1)
04/23 10:44, 1F
文章代碼(AID): #19xua6LF (Database)
文章代碼(AID): #19xua6LF (Database)