VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

關於資料分組,請各位高手幫幫忙~~

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> SQL 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
viper



註冊時間: 2004-08-13
文章: 2


第 1 樓

發表發表於: 星期一 八月 16, 2004 5:27 pm    文章主題: 關於資料分組,請各位高手幫幫忙~~ 引言回覆

現有1 table,資料約述如下:
Table:Payments

Pay_No| pmi_ser | pay_act | pay_date
001 01 1000 2004/08/20
002 01 2000 2004/08/20
003 01 2000 2004/09/20
004 02 1000 2004/08/20
005 02 1000 2004/09/20

現在希望可以有一個View的結果如下:

pmi_ser | 2004/08 |2004/09
01 3000 1000
02 2000 1000

月份內的值,為Sum(Pay_act)的結果,
我有試過用Stroe Procedure 將資料Select 之後再 Insert 進暫存Table,但如果資料一多效能會很差,請教高手有沒有好方法?或用VF也行...
謝謝賜教囉~~
回頂端
檢視會員個人資料 發送私人訊息
BIN



註冊時間: 2004-07-22
文章: 94
來自: Tainan, Taiwan

第 2 樓

發表發表於: 星期一 八月 16, 2004 5:46 pm    文章主題: 引言回覆

SELECT pmi_ser, SUM(CASE WHEN LEFT(pay_date,5)="2004/08" THEN pay_act ELSE 0 END) AS aug, SUM(CASE WHEN LEFT(pay_date,5)="2004/09" THEN pay_act ELSE 0 END) AS sep FROM payments GROUP BY pmi_ser

p.s.僅限MSSQL, Oracle不可...
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
viper



註冊時間: 2004-08-13
文章: 2


第 3 樓

發表發表於: 星期一 八月 16, 2004 6:05 pm    文章主題: 引言回覆

BIN 寫到:
SELECT pmi_ser, SUM(CASE WHEN LEFT(pay_date,5)="2004/08" THEN pay_act ELSE 0 END) AS aug, SUM(CASE WHEN LEFT(pay_date,5)="2004/09" THEN pay_act ELSE 0 END) AS sep FROM payments GROUP BY pmi_ser

p.s.僅限MSSQL, Oracle不可...


挖挖挖∼謝謝~~!! Laughing
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> SQL 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作