作者question18 (晡)
看板Web_Design
標題Re: [問題] 請問這種問題大家都怎嚜解呢
時間Mon Feb 16 18:36:41 2009
大家好
我已經根據這個做法
實做在access上
但是請問在asp中使用SQL讀取這樣的多重表格
我要怎嚜讀取 才能夠將 學生姓名 與 科目分數 讀出存成一個二維陣列
似乎沒有sql的指令可以這樣執行 讀出的檔案還是一大串混在一起的RECORD SET
如下
記錄的成績長這樣
王XX 數學 100
張三 英文 20
李四 國文 50
王XX 英文 15
王XX 數學 60
張三 國文 60
李四 數學 50
張三 數學 70
李四 英文 55
請問有沒有前輩能告知怎嚜作的呢
※ 引述《bobju (寶貝豬)》之銘言:
: 對於你的問題答案是: "可以, SQL可以支援增刪欄位的操作, 查alter的用法".
: 不過這樣的問法讓我感覺可能目前在資料綱目的設計上會為後續的應用帶來問題.
: 如果你打算用一個表來儲存學生成績, 以欄為科目, 以列為學生各科成績的話,
: 那以後在延伸應用上可能會有許多問題浮現.
: 若以比較正規的方式來做, 其實並不建議將所有科目以個別欄位方式建立, 而
: 是應該要以獨立的資料表來建立. 就整個設計來看, 至少要建立三個資料表:
: 學生, 科目, 以及成績, 並且為此三個資料表建立起關聯.
: 學生:學號,姓名,etc...
: ^
: +
: 成績:學生學號,科目編號,分數,etc...
: +
: +-------- +
: v
: 科目:編號,名稱,年級,學年度,etc...
: 以上僅供參考, 或許看懂之後, 你可以做得更完善.
: 總之, 原始問題看似簡單, 若從實際應用以及資料庫應用設計上來看, 其實並
: 沒有想像中的簡單, 有些關於資料庫設計基礎的knowledge要先建立.
: 話說回來, 如果只是要做學生成績報表的話, 在此Excel會比access更好用.
: ※ 引述《question18 (晡)》之銘言:
: : 小弟想做一個類似學生的成績單
: : 現有十個科目的成績 學生名字可以一直新增 但科目以後也可能會增刪
: : 但是若是將科目當成access的欄位名稱
: : 將十個科目輸入為十個欄位名稱
: : 這樣之後能用SQL刪增欄位名稱嗎
: : 或是這種問題大家都怎嚜解決的 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.79.157.60
※ 編輯: question18 來自: 211.79.157.60 (02/16 18:38)
→ knives:要不要去研究sql語法比較實在 02/16 18:39
→ chph:recordset 全部的列跑過一次, 同時存入陣列啊 02/16 19:57
※ 編輯: question18 來自: 211.79.157.60 (02/16 20:10)
→ question18:可是recordset是排序混亂 並沒辦法對齊項目 02/16 21:15
推 pm2001:你還是先把資料正規劃再說 02/16 21:18
推 chph:排序混亂跟對齊項目有什麼關聯? 不懂 02/16 21:49
→ knives:去研究一下sql語法,就不會有啥排序混亂的問題,最基本的都 02/16 22:03
→ iFEELing:你需要 ORDER BY == == 02/16 22:04
→ knives:不會 02/16 22:05
→ knives:說穿不過就是兩個table做join,在看看你要以什麼來排序 02/16 22:06
推 pm2001:厄,其實兩個排不出來 02/16 23:08
推 GALINE:order by 姓名,科目,然後在迴圈裡面判斷是否跟上一圈同個 02/17 12:06
→ GALINE:學生。如果不是就換到下一行。這是一種解法 02/17 12:06
→ GALINE:如果用php的話,可以用姓名跟科目當成二維陣列的兩個index 02/17 12:07
→ GALINE:迴圈存入後再用兩個foreach取出,這樣就不需要用order by 02/17 12:07
→ question18:感謝樓上 謝謝 02/17 14:47