作者: pwct 時間: 2008-11-23 12:44 標題: create mysql using isp
我想input 1個名
之後就會行create tabe 句code
就create table 個名就係input 個個名
其實我係想整個評分表
新增1個表 = create 一個table ( 每個比賽)
入面可以比人新加項目
每新加一項目 就= 新加一欄位
點先得?
新加既動作 係web上面
唔係直接人手打comment 去mysql create
作者: thinkpanda 時間: 2008-11-23 12:52
原帖由 pwct 於 2008-11-23 12:44 發表
我想input 1個名
之後就會行create tabe 句code
就create table 個名就係input 個個名
其實我係想整個評分表
新增1個表 = create 一個table ( 每個比賽)
入面可以比人新加項目
每新加一項目 就= 新加一欄位
點先得?
新加既動作 係web上面
唔係直接人手打comment 去mysql create
你當然可以係你個program create table.
但係從database design 既角度, 每個比賽開一個新既table 係非常錯既做法.
正常黎講應該將所有比賽放係同一個table.
作者: Rudy 時間: 2008-11-23 18:23
For M$ sql server, 我幫公司某Program真係會每次Report都會在Sql server create一堆Table,
不過係Temporary Table, 當user logout後會自動刪除.
我估mysql server都有類似的東西.
作者: rocketdive04 時間: 2008-11-23 18:35
原帖由 Rudy 於 2008-11-23 18:23 發表
For M$ sql server, 我幫公司某Program真係會每次Report都會在Sql server create一堆Table,
不過係Temporary Table, 當user logout後會自動刪除.
我估mysql server都有類似的東西.
store procedures?
作者: pwct 時間: 2008-11-23 18:40
原帖由 thinkpanda 於 2008-11-23 12:52 發表
你當然可以係你個program create table.
但係從database design 既角度, 每個比賽開一個新既table 係非常錯既做法.
正常黎講應該將所有比賽放係同一個table.
我都唔知,
咁放係同一個table ,,所有比賽
會有d咩欄位?
項目名?咁項目d分呢?
但係要新加/減 評分既項目
變左欄位就要add同drop
唔知點整
所以問點樣可以新加項目個時就會add 個欄位放項目個名
同項目既分
作者: rocketdive04 時間: 2008-11-23 18:47
原帖由 pwct 於 2008-11-23 18:40 發表
![]()
我都唔知,
咁放係同一個table ,,所有比賽
會有d咩欄位?
項目名?咁項目d分呢?
但係要新加/減 評分既項目
變左欄位就要add同drop
唔知點整
所以問點樣可以新加項目個時就會add 個欄位放項目個名
同項目既分
can you explain in brief the situation? like the flow what result you wanna make?
maybe i can give you some ideas
作者: Rudy 時間: 2008-11-23 20:12
吾係, 我記得好似係個Table Name用"#"字頭定係甚麼, 就會變成Temporary Table,
不過個Program係三年幾前寫, 實際係甚麼字頭, 我要查番先知.
作者: Rudy 時間: 2008-11-23 20:23
原帖由 pwct 於 2008-11-23 18:40 發表
![]()
我都唔知,
咁放係同一個table ,,所有比賽
會有d咩欄位?
項目名?咁項目d分呢?
但係要新加/減 評分既項目
變左欄位就要add同drop
唔知點整
所以問點樣可以新加項目個時就會add 個欄位放項目個名
同項目既分
看你所講, 其實不必create tmp table 咁麻煩, Normalization得好就夠, 當比賽者有不同的項目, 只要set relation做得好d就足夠.
吾使又add field 又drop field, 這樣只會令你愈來愈亂.
作者: thinkpanda 時間: 2008-11-23 21:29
原帖由 pwct 於 2008-11-23 18:40 發表
![]()
我都唔知,
咁放係同一個table ,,所有比賽
會有d咩欄位?
項目名?咁項目d分呢?
但係要新加/減 評分既項目
變左欄位就要add同drop
唔知點整
所以問點樣可以新加項目個時就會add 個欄位放項目個名
同項目既分
都唔應該加減欄位. 正確既設計係唔應該需要係正常操作時改變database design.
作者: thinkpanda 時間: 2008-11-23 21:30
我想像樓主既資料係咁樣
match (id, name)
match_item (id, match_id, name)
score (id, match_id, score)
作者: laputafish 時間: 2008-11-23 22:56
原帖由 Rudy 於 2008-11-23 20:12 發表
吾係, 我記得好似係個Table Name用"#"字頭定係甚麼, 就會變成Temporary Table,
不過個Program係三年幾前寫, 實際係甚麼字頭, 我要查番先知.
我都成日用.
果個係將一個 變數 定義為 Table. 好好用. 不過遺憾係呢個變數唔可以以參數型式傳入另一個 stored procedure 或 function 度黎用.
作者: Rudy 時間: 2008-11-23 23:50
的確方便
[ 本帖最後由 Rudy 於 2008-11-23 23:54 編輯 ]
作者: alextamly 時間: 2008-11-24 01:05
最好就3個table玩下..
一個table就記比賽(比賽id,比賽名)
第二個table就記項目(項目id,比賽id,項目名)
第三個tabel就記什項(項目id,名,分....)
你明唔明呢....你冇sqldb底..我唔係好識得解釋..哈哈...
作者: pwct 時間: 2008-11-24 06:51
原帖由 thinkpanda 於 2008-11-23 21:30 發表
我想像樓主既資料係咁樣
match (id, name)
match_item (id,match_id , name)
score (id, match_id, score)
咁參加者報名邊一比賽d data都係放係match (id, name)
定
另外開多個table?
i.e. app(id, match_id , name)?
咁參賽者個名同參賽者個id係score?
member (id, name)
i.e. score (id, match_id, member_id, member_name ,score) ?
match_item (id, match_id, name)
score (id, match_id, score)
點連接?
我試過 我可以用while loop 加 不同評分項目
咁score點樣input?
我用while loop 佢只係入得1個分
其他評分項目 入5到分
[ 本帖最後由 pwct 於 2008-11-24 07:09 編輯 ]
作者: pwct 時間: 2008-11-24 06:54
原帖由 alextamly 於 2008-11-24 01:05 發表
最好就3個table玩下..
一個table就記比賽(比賽id,比賽名)
第二個table就記項目(項目id,比賽id,項目名)
第三個tabel就記什項(項目id,名,分....)
你明唔明呢....你冇sqldb底..我唔係好識得解釋..哈哈...![]()
panda 大大 話第三個tabel就記 比賽id
而你就寫項目id
邊樣先岩?
作者: pwct 時間: 2008-11-24 06:57
原帖由 rocketdive04 於 2008-11-23 18:47 發表
can you explain in brief the situation? like the flow what result you wanna make?
maybe i can give you some ideas![]()
因為我要可以新加/刪減 評分項目 來評分
不知怎樣做
作者: thinkpanda 時間: 2008-11-24 09:43
原帖由 pwct 於 2008-11-24 06:51 發表
咁參加者報名邊一比賽d data都係放係match (id, name)
定
另外開多個table?
i.e. app(id, match_id , name)? 開多個table, 除非每個比賽都只有一個人參加啦
咁參賽者個名同參賽者個id係score?
member (id, name)
i.e. score (id, match_id, member_id, member_name ,score) ?
score 就唔應該有member_name, 因為你已經擺左係member table, 另外score 唔需要match_id, 只需要match_item_id
match_item (id, match_id, name)
score (id, match_id, score)
點連接?
假設你個score table 係 (id, match_item_id, score)
select * from match_item as mi, score as s where s.match_item_id = mi.id
我試過 我可以用while loop 加 不同評分項目
咁score點樣input?
每個score 都insert 一個record.
我用while loop 佢只係入得1個分
其他評分項目 入5到分
123456
作者: rocketdive04 時間: 2008-11-24 10:08
create 項目 table
項目id int identity
項目name nvarchar(50)
項目 Description (100)
but how would u like to store the score?
like this ?
scoreid, person name, 項目id, score?
作者: pwct 時間: 2008-11-24 10:14
咁member table 除左(id, name) 仲有d咩?
score 無member_name
咁點知該參加者 佢所有評分項目係幾分?
同埋總分 係咪係score 加個項叫total?
每個score 都insert 一個record.
應該d code點寫?
作者: pwct 時間: 2008-11-24 10:17
原帖由 rocketdive04 於 2008-11-24 10:08 發表
create 項目 table
項目id int identity
項目name nvarchar(50)
項目 Description (100)
but how would u like to store the score?
like this ?
scoreid, person name, 項目id, score?
可以新增/減少 評分的項目 及其分數
不懂code 怎樣寫
作者: thinkpanda 時間: 2008-11-24 10:29
原帖由 pwct 於 2008-11-24 10:14 發表
咁member table 除左(id, name) 仲有d咩?
score 無member_name
咁點知該參加者 佢所有評分項目係幾分?
同埋總分 係咪係score 加個項叫total?
每個score 都insert 一個record.
應該d code點寫?
score table 有member id 嘛, 咁就可以搵到個member name.
搵分數唔係靠member name, 而係靠member id.
如果你唔係有好多項目, 總分用sql 加埋score 就得, 不需另設total.
SQL 點寫你就要自己睇下書啦.
作者: thinkpanda 時間: 2008-11-24 10:30
每加一個項目就加一個match_item record, 就係咁簡單.
作者: rocketdive04 時間: 2008-11-24 10:58
php? jsp?
作者: pwct 時間: 2008-11-24 11:02
原帖由 thinkpanda 於 2008-11-24 10:29 發表
score table 有member id 嘛, 咁就可以搵到個member name.
搵分數唔係靠member name, 而係靠member id.
如果你唔係有好多項目, 總分用sql 加埋score 就得, 不需另設total.
SQL 點寫你就要自己睇下書啦.
讓我重新整理下
member (id, username, pw) - 注冊會員
app (id, match_id ,member_id, name) - 報名
match (id, name) - 比賽名
match_item (id, match_id, name) - 評分項目
score (id, "app_id"? ,match_item_id, score) - 項目評分
死啦,唔明tim
e+ match_item 同 score 係1對1?
member (id, username, pw) (1 , pwct , pw)
app (id, match_id ,member_id, name) (1 ,1, 1,pwct)
match (id, name) ( 1, test)
match_item (id, match_id, name) ( 1 , 1, a) ( 2 , 1, a)
score (id, "app_id"?,match_item_id, score) (1 ,1, 1, 70 ) (1 ,1, 2, 50 )
then
pwct係比賽test 係a項目 = 70分?
pwct係比賽test 係b項目 = 50分?
咁樣?
咁score 咪都要加match_id 唔係點知邊個參加者參加邊項比賽?
[ 本帖最後由 pwct 於 2008-11-24 11:04 編輯 ]
作者: pwct 時間: 2008-11-24 11:05
jsp~~~~~~~~~~
作者: GPoker 時間: 2008-11-24 17:00
用返好d既id名來睇就係咁:
member(member_id,name)
app(member_id,match_id)
match(match_id,match_name)
match_item(match_id,match_item_id,match_item_name)
score(match_item_id,score)
同一場比賽(match),有兩種項目(match_item),每種項目有各自分數(score)。
不過有無必要將項目分數分出來做獨立table呢?
其實應該可以放落match_item度都得ga wo...
[ 本帖最後由 GPoker 於 2008-11-24 17:48 編輯 ]
作者: thinkpanda 時間: 2008-11-24 17:02
原帖由 GPoker 於 2008-11-24 17:00 發表
用返好d既id名來睇就係咁:
member(member_id,name)
app(member_id,match_id)
match(match_id,match_name)
match_item(match_id,match_item_id,match_item_name)
type-score(match_item_id,score)
同一場比賽(match), ...
睇下分數係跟比賽定跟參賽者啦.
作者: pwct 時間: 2008-11-24 17:50
原帖由 GPoker 於 2008-11-24 17:00 發表
用返好d既id名來睇就係咁:
member(member_id,name)
app(member_id,match_id)
match(match_id,match_name)
match_item(match_id,match_item_id,match_item_name)
score(match_item_id,score)
同一場比賽(match),有兩種 ...
咁點知某會員係某比賽 既評分項目係幾分?
係咪無關聯到?
作者: GPoker 時間: 2008-11-25 14:47
關聯肯定有,不過係用select搞je...
select s.score from member m, match ma, match_item mi, score s
where m.member_name like "你要搵既人既名" and m.member_id = ma.match_id
and ma.match_id = mi.match_id and mi.match_item_id = s.match_item_id
不過就唔知我句statement有無錯啦
作者: pwct 時間: 2008-11-25 14:59
原帖由 GPoker 於 2008-11-25 14:47 發表
關聯肯定有,不過係用select搞je...
select s.score from member m, match ma, match_item mi, score s
where m.member_name like "你要搵既人既名" and m.member_id = ma.match_id
and ma.match_id = mi.match_id a ...
唔駛係mysql?
咁就可以做到
每個參加者 ( a,b,c,d,e ,total)[評分項目] ( 10,9,8,7,6,total) [分數]
咁樣?
作者: rocketdive04 時間: 2008-11-25 15:23
原帖由 pwct 於 2008-11-25 14:59 發表
參加者同各評分項目分數係program 上面關聯
唔駛係mysql?
咁就可以做到
每個參加者 ( a,b,c,d,e ,total)[評分項目] ( 10,9,8,7,6,total) [分數]
咁樣?
you need to create database in the mysql server.. and later you need to write code to make jsp pages connect to the mysql database
1 - you need to make connection to the mysql ( import driver mysql driver, create connection code, create statement ,resultset and of course your string sql command)
( i use netbeans 6.5 ide)
作者: pwct 時間: 2008-11-25 15:35
原帖由 rocketdive04 於 2008-11-25 15:23 發表
you need to create database in the mysql server.. and later you need to write code to make jsp pages connect to the mysql database
1 - you need to make connection to the mysql ( import driver mysq ...
我本身已經有評分功能但係在mysql定了5個欄位(只能有5項評分)
老師要求 適合各種比賽 我才不懂怎樣可以新增/減少項目
和同時不同比賽有不同評分表
作者: thinkpanda 時間: 2008-11-25 15:52
原帖由 pwct 於 2008-11-25 15:35 發表
基本那些已經做了
我本身已經有評分功能但係在mysql定了5個欄位(只能有5項評分)
老師要求 適合各種比賽 我才不懂怎樣可以新增/減少項目
和同時不同比賽有不同評分表
你有無讀過database normalization? 有既話應該知點做
作者: rocketdive04 時間: 2008-11-25 15:56
原帖由 pwct 於 2008-11-25 15:35 發表
基本那些已經做了
我本身已經有評分功能但係在mysql定了5個欄位(只能有5項評分)
老師要求 適合各種比賽 我才不懂怎樣可以新增/減少項目
和同時不同比賽有不同評分表
新增項目 insert into table
減少項目 delete from table where 項目 = xx
和同時不同比賽有不同評分表
i dunno how is your 評分表 table created like what...maybe you can show what have you created on this table
作者: alextamly 時間: 2008-11-25 15:58
我估計..佢應該冇...
作者: alextamly 時間: 2008-11-25 16:01
你要自搵出各項目o既相同性..之後先做個table....唔係係唔係都做table...
重有..你識唔識咩係join,left join, right join, inner join??
如果唔識...講左俾你聽都冇用架喎...因為你都唔識去運用...(講衰d..同抄人功課冇分別)..
作者: rocketdive04 時間: 2008-11-25 16:03
原帖由 alextamly 於 2008-11-25 16:01 發表
你要自搵出各項目o既相同性..之後先做個table....唔係係唔係都做table...
重有..你識唔識咩係join,left join, right join, inner join??
如果唔識...講左俾你聽都冇用架喎...因為你都唔識去運用...(講衰d..同抄人功課冇分別)..
yes
作者: pwct 時間: 2008-11-25 16:25
原帖由 alextamly 於 2008-11-25 16:01 發表
你要自搵出各項目o既相同性..之後先做個table....唔係係唔係都做table...
重有..你識唔識咩係join,left join, right join, inner join??
如果唔識...講左俾你聽都冇用架喎...因為你都唔識去運用...(講衰d..同抄人功課冇分別)..
mysql 書有講?
好多都係mysql & php
d code 都係相同?
作者: thinkpanda 時間: 2008-11-25 16:28
你要睇既唔係MySQL 既書, 而係database design 既書.
作者: GPoker 時間: 2008-11-25 16:42
就當你有100米、體操同跳遠咁先啦。
先當100米入面既評分項目只有時間。
體操應該有n樣項目,就當美感同難度兩種分數吧。
跳遠就假設距離同時間吧。
咁既話match就有3個記錄,100米、體操同跳遠。
match_item就有5個記錄:
match_item_id:1,match_id(100米),name(時間)
match_item_id:2,match_id(跳遠),name(距離)
match_item_id:3,match_id(跳遠),name(時間)
match_item_id:4,match_id(體操),name(美感)
match_item_id:5,match_id(體操),name(難度)
同樣score一樣有5個記錄,分別記錄住match_item入面每種評分項目既分數。
咁樣既話就算項目名相同,比賽類型唔同都唔會相撞。
以上為mysql入面table整法。
老實講,你無sql底子,就算幫你create table同入埋data,你都唔識用返sql去search返d data吧?
而且就算識php、jsp,除非用d app寫或extension搞,唔係你點都用返sql command(e.g. select、update、delete等)去搞,而唔係單單識寫php/jsp就得。
如果你真係又懶又唔係咁識既,可以試下玩vb lo,有晒圖形介面俾你玩
作者: pwct 時間: 2008-11-25 17:50
原帖由 GPoker 於 2008-11-25 16:42 發表
就當你有100米、體操同跳遠咁先啦。
先當100米入面既評分項目只有時間。
體操應該有n樣項目,就當美感同難度兩種分數吧。
跳遠就假設距離同時間吧。
咁既話match就有3個記錄,100米、體操同跳遠。
match_item就有5個記錄 ...
你個mysql table 我明
但係score 係裝d咩分數?
有好多人參加者
1項score得1格裝分
定個score 係暫存分數 評完再放去另1個table?
應該係每位參加者 佢既score 會放係邊度?
[ 本帖最後由 pwct 於 2008-11-25 18:13 編輯 ]
作者: pwct 時間: 2008-11-25 17:50
:funk: e d 書係咪好少有
我見sch都唔覺眼
作者: thinkpanda 時間: 2008-11-25 18:13
大專圖書館就實有, 呢D咁基本既野都無, 間院校就可以執笠.
作者: pwct 時間: 2008-11-25 18:15
e+ score (id, mach_item_id, score)
只係每個項目放番相應既分數
其實我5明
每位參加者屬於 佢地既每1項既score 會放係邊度?
作者: alextamly 時間: 2008-11-25 18:47
原帖由 pwct 於 2008-11-25 18:15 發表
e+ score (id, mach_item_id, score)
只係每個項目放番相應既分數
其實我5明
每位參加者屬於 佢地既每1項既score 會放係邊度?
Mr A / 跳遠 / 5米
Mr B / 游水25M / 50sec
Mr C / 跑步100米 / 10sec
留唔留意到上面有咩相同地方??
答案:<人名 / 項目 / 成績>
<咁你個table咪只要有以上3個col...之後只要你搵 [Mr A] [跳遠] 就會搵到 [5米]>
明唔明點設計??
作者: pwct 時間: 2008-11-25 19:25
原帖由 alextamly 於 2008-11-25 18:47 發表
Mr A / 跳遠 / 5米
Mr B / 游水25M / 50sec
Mr C / 跑步100米 / 10sec
留唔留意到上面有咩相同地方??
答案:
明唔明點設計??
唔明你
< >
< >
做d咩
名 / 比賽項目 / 分數
你指3個table 咁關聯?
Mr A / 跳遠 / 5米
Mr B / 游水25M / 50sec
Mr C / 跑步100米 / 10sec
咁
Mr A / 跳遠 / 5米
Mr B / 游水25M / 50sec
Mr C / 跑步100米 / 10sec
Mr D / 體操 / 10分(美感)
Mr D / 體操 / 10分(難度)
多過1項評分項目 就咁樣?
參加者既data放係match入面?
[ 本帖最後由 pwct 於 2008-11-25 19:29 編輯 ]
作者: alextamly 時間: 2008-11-26 11:20
類似...
所以你要先了解你o既資料分成幾多項...如果你體操到比其他都多一項..咁就要開多個col俾佢記sub title..但其他就唔會用到o個行..
進一步就係將重覆o既資料(不是項目)集埋一齊..再諗諗佢駛唔駛分開table記...例如人名..可能一個人玩十樣野..咁你只要開個新table記個人名同俾個id佢..之後用join去join埋2個table...
咁你人名o個個table就可以記晒有關o個個人o既資料..例如名/姓/性別/年齡等等.....
作者: pwct 時間: 2008-11-26 15:12
原帖由 alextamly 於 2008-11-26 11:20 發表
類似...
所以你要先了解你o既資料分成幾多項...如果你體操到比其他都多一項..咁就要開多個col俾佢記sub title..但其他就唔會用到o個行..
進一步就係將重覆o既資料(不是項目)集埋一 ...
E+ 我係要FOR不同比賽,maybe some contest have 3 or 5 items, or above / less
SO 唔知EACH CONTEST會有幾項,,
這樣點知加幾多COL?
create a table for store member record
e.g. member(id , name , address...)
then,
match,match_item,score
都放個member_id and member_name into table match,match_item,score ?
做關聨?
另外, 咩係JOIN?
作者: thinkpanda 時間: 2008-11-26 15:17
http://www.google.com.hk/search?q=SQL+tutorial&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
你睇下先開始做啦。
作者: pwct 時間: 2008-11-26 17:10
原帖由 thinkpanda 於 2008-11-26 15:17 發表
http://www.google.com.hk/search? ... mp;client=firefox-a
你睇下先開始做啦。
所謂join ja係
member(id, name)
score(id, "member_id", score)
" " 咁就叫join 左?
作者: thinkpanda 時間: 2008-11-26 17:19
原帖由 pwct 於 2008-11-26 17:10 發表
所謂join ja係
member(id, name)
score(id, "member_id", score)
" " 咁就叫join 左?
唔係。有D好奇點解你會有咁既想法?
所謂join, 係一個SQL 既寫法
例
select * from member, score where member.id=score.member_id
如果你唔了解係SQL 點做join, 咁前面咁多人講既野其實你都唔會明白。
所以你搞清楚SQL 先。
作者: 超~ 時間: 2008-11-26 17:45
唔知我有無諗錯
tblMember
M_Id,Name
資料:
tblMember
1,Ann
2,Peter
3,john
tblMatchItem
MI_Id,Name
資料:
tblMatchItem
1,100米
2,4x100米
tblScore
S_ID,M_ID,MI_Id,score
1,2,2,15s
Select M.Name, MI.Name, s.Score From tblMember m, tblMatchItem mi, tblScore s
Where m.M_id = s.M_Id AND mi.MI_Id = s.MI_Id AND MI_Name = '4x100米'
Result:
Peter,4x100米,15s
作者: pwct 時間: 2008-11-26 18:39
原帖由 thinkpanda 於 2008-11-26 17:19 發表
唔係。有D好奇點解你會有咁既想法?
所謂join, 係一個SQL 既寫法
例
select * from member, score where member.id=score.member_id
如果你唔了解係SQL 點做join, 咁前面咁多人講既野其實你都唔會明白。
所以你搞清楚SQL 先。
原來係咁
係sql將member.id =score.member_id
member_id先連去member個id到
我以為 打member_id 本身就會自動 = member.id
咁ja係 比賽報名 同 score
都join member_id 去 比賽報名 同 score 個table?
作者: pwct 時間: 2008-11-26 18:47
原帖由 超~ 於 2008-11-26 17:45 發表
唔知我有無諗錯
tblMember
M_Id,Name
資料:
tblMember
1,Ann
2,Peter
3,john
tblMatchItem
MI_Id,Name
資料:
tblMatchItem
1,100米
2,4x100米
tblScore
S_ID,M_ID,MI_Id,score
1,2,2,15s
Select M.Name, MI. ...
咁比賽有好多評分項目
score 個度 點
例如歌唱比賽
member(id,name)
1, peter
match (id ,member_id, name )
1, 1, singcontest
match_item (id , member_id, match_id, name)
1, 1, 1, 唱功
2, 1, 1, 音準
3, 1, 1, 感情
score(id, member_id, match_id, match_item_id, score)
1, 1, 1, 1, 5
2, 1, 1, 2, 10
3, 1, 1, 3, 20
會咁樣?
作者: rocketdive04 時間: 2008-11-27 08:55
原帖由 pwct 於 2008-11-26 17:10 發表
所謂join ja係
member(id, name)
score(id, "member_id", score)
" " 咁就叫join 左?
i can give an example
student_score table
scoreid 1 (int identity), studentid "1", score "60"
studentdetails
studentid1, name John, description bla bla, bla bla
so when u use select statement
select scoreid, name, score from student_score table inner join studentdetails on
studentdetails.studentid = student_score.studentid
result:
StudentID name score
1 John 60
[ 本帖最後由 rocketdive04 於 2008-11-27 08:57 編輯 ]
作者: pwct 時間: 2008-11-27 09:50
原帖由 rocketdive04 於 2008-11-27 08:55 發表
i can give an example
student_score table
scoreid 1 (int identity), studentid "1", score "60"
studentdetails
studentid1, name John, description bla bla, bla bla
so when u use select statement
sel ...
咁裝評分項目個table
駛5駛放studentid?
因為會顯示
會員a
項目1 10分
項目2 20分
項目3 30分
總分 60分
作者: alextamly 時間: 2008-11-27 12:36
我諗你真係應該去圖書館睇下d database o既書...唔駛分mysql/mssql..你先要o既係concept..之後先再做吧...
作者: GPoker 時間: 2008-11-27 15:19
見你問到咁耐都未解決到,真係建議你去學下sql concept先...如果真係好急既,索性搵朋友幫你寫過個吧...
作者: pwct 時間: 2008-11-27 15:48
有人引導會識快d
作者: GPoker 時間: 2008-11-27 16:33
http://www.w3schools.com/sql/default.asp
http://www.1keydata.com/tw/sql/sql.html
一個英文一個中文,先將你而家個case放下,慢慢學返先啦
作者: pwct 時間: 2008-11-27 16:44
原帖由 GPoker 於 2008-11-27 16:33 發表
http://www.w3schools.com/sql/default.asp
http://www.1keydata.com/tw/sql/sql.html
一個英文一個中文,先將你而家個case放下,慢慢學返先啦![]()
但係我問那些
有沒有錯?
因為才有個方向
作者: pwct 時間: 2008-11-30 14:18
CREATE TABLE `match` ( //比賽項目增加
`mh_id` int(10) unsigned NOT NULL auto_increment, //比賽項目id
`mh_object` varchar(50) default NULL, //比賽項目名
`mh_content` text, //比賽項目內容
`mh_state` int(10) default NULL, //比賽項目狀態
`mh_time` date NOT NULL default '0000-00-00', //比賽項目時間
PRIMARY KEY (`mh_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=21 ;
CREATE TABLE `match_reg` ( //比賽會員注冊資料
`mr_id` int(10) unsigned NOT NULL auto_increment, //參加者id
`mh_id` int(10) NOT NULL, //比賽項目id
`a_id` int(10) NOT NULL, //會員id
`mr_name` varchar(20) default NULL, //參加者名
`mr_content` text, //參加者名
`mr_time` datetime NOT NULL default '0000-00-00 00:00:00', //參加時間
`mr_yn` varchar(5) NOT NULL default 'n', //是否已評分
PRIMARY KEY (`mr_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=22 ;
CREATE TABLE `match_item` ( //評分項目增加
`mi_id` int(10) unsigned NOT NULL auto_increment, //評分項目id
`mh_id` int(10) NOT NULL, //比賽項目id
`mr_id` int(10) unsigned NOT NULL, //參加者id
`mi_name` varchar(50) NOT NULL, //評分項目名
PRIMARY KEY (`mi_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=23 ;
CREATE TABLE `match_score` ( //評分項目評分
`ms_id` int(10) unsigned NOT NULL auto_increment, //評分項目評分id
`mr_id` int(10) unsigned NOT NULL, //參加者id
`mi_id` int(10) unsigned NOT NULL, //評分項目id
`ms_score` float default NULL, //評分項目分數
PRIMARY KEY (`ms_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=24 ;
請問是否這樣?
特別紅色部分 是否放對?
作者: hdvd-rom 時間: 2008-11-30 15:11
唔好講咁多廢話,
你連幼稚園同小學都未讀,就話學人高中選科,有冇咁既道理?
返去自修先再問.
作者: thinkpanda 時間: 2008-12-1 00:55
原帖由 pwct 於 2008-11-30 14:18 發表
CREATE TABLE `match` ( //比賽項目增加
`mh_id` int(10) unsigned NOT NULL auto_increment, //比賽項目id
`mh_object` varchar(50) default NULL, //比賽項目名
`mh_content` text, //比賽項目內容
`mh_state` int(10) default NULL, //比賽項目狀態
`mh_time` date NOT NULL default '0000-00-00', //比賽項目時間
PRIMARY KEY (`mh_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=21 ;
CREATE TABLE `match_reg` ( //比賽會員注冊資料
`mr_id` int(10) unsigned NOT NULL auto_increment, //參加者id
`mh_id` int(10) NOT NULL, //比賽項目id
`a_id` int(10) NOT NULL, //會員id 你係咪會有個會員table?
`mr_name` varchar(20) default NULL, //參加者名 如果有個會員table 又何需係呢度放參賽者資料? 除非佢係比賽時有別名啦
`mr_content` text, //參加者名 mr_name同mr_content 有乜唔同?
`mr_time` datetime NOT NULL default '0000-00-00 00:00:00', //參加時間
`mr_yn` varchar(5) NOT NULL default 'n', //是否已評分
PRIMARY KEY (`mr_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=22 ;
CREATE TABLE `match_item` ( //評分項目增加
`mi_id` int(10) unsigned NOT NULL auto_increment, //評分項目id
`mh_id` int(10) NOT NULL, //比賽項目id
`mr_id` int(10) unsigned NOT NULL, //參加者id 呢度有個參賽者ID, 意味每個參賽者都重覆左評分項目名, 係咪有D奇怪呢?
`mi_name` varchar(50) NOT NULL, //評分項目名
PRIMARY KEY (`mi_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=23 ;
CREATE TABLE `match_score` ( //評分項目評分
`ms_id` int(10) unsigned NOT NULL auto_increment, //評分項目評分id
`mr_id` int(10) unsigned NOT NULL, //參加者id 又來了, 如果呢度有參賽者ID, 咁match item 唔需要
`mi_id` int(10) unsigned NOT NULL, //評分項目id
`ms_score` float default NULL, //評分項目分數
PRIMARY KEY (`ms_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=24 ;
像樣少少架啦,努力!
另一個建議, 學下畫Entity Relationship Diagram, 會幫助你思考database design.
作者: pwct 時間: 2008-12-1 09:01
原帖由 thinkpanda 於 2008-12-1 00:55 發表
像樣少少架啦,努力!
另一個建議, 學下畫Entity Relationship Diagram, 會幫助你思考database design.
咁參加者id 要唔要放係item and score table 度?
作者: thinkpanda 時間: 2008-12-1 09:36
理由呢?
作者: pwct 時間: 2008-12-1 12:11
e+我試緊 打數字入去score 個table
但係有次都係得第1個先save到入去
e.g.
評分項目 評分
a 10 <-- 得e個先save到
b 20
c 30
其他就save 5到
score table
就會 ( s_id , s_score)
1 , 10
可5可以
評分項目 評分
a 10
b 20
c 30
1 enter 就save哂3個
i.e.
咁係score table
就會 ( s_id , s_score)
1 , 10
2, 20
3, 30
咁樣
作者: pwct 時間: 2008-12-2 09:08
即係我指可唔可以同一時間放幾樣野係同一列入面?


