 |
|
|
 |
 |
|
ไม่มีใครช่วยจริงๆหรอเนี้ย T T
|
 |
 |
 |
 |
Date :
2010-01-24 21:58:46 |
By :
น้ำ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มันก็เป็นการคูณ หาร ลบ เลขหนิครับ
ขอตัวสักตัวที่คำนวณด้วยเอง ประมาณแนวทางอ่าครับ เด๋วจะได้ช่วยดูให้ว่าเป็นยังไง ว่าทำยังไงครับ
|
 |
 |
 |
 |
Date :
2010-01-25 11:54:47 |
By :
artorigin7 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองเขียนแบบง่ายๆ ดูครับ เรื่อง datatype อาจจะต้องแก้ไข กับการใช้ array ช่วยจะง่ายกว่า
อันนี้เป็น c# นะ
int รวมหน่วยกิตทั้งหมด = y;
int a1 = หน่วยกิตวิชาที่1*เกรดวิชาที่1;
int a3 = หน่วยกิตวิชาที่2*เกรดวิชาที่2;
int a3 = หน่วยกิตวิชาที่3*เกรดวิชาที่3;
...
int an = หน่วยกิตวิชาที่n*เกรดวิชาที่n;
int รวมเกรด = a1+a2+a3+...+an;
int เกรดนักเรียนคนนี้ = รวมเกรด / y;
|
 |
 |
 |
 |
Date :
2010-01-26 11:11:55 |
By :
numenoy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
SELECT ROUND(SUM(Subject.SubUnit * grade.value) / SUM(Subject.SubUnit), 2) AS Expr1 FROM Regis_grade INNER JOIN grade ON Regis_grade.grade = grade.grade INNER JOIN Subject ON Regis_grade.subjectid = Subject.Subjectid GROUP BY grade.value, Regis_grade.Username, Regis_grade.semasterid HAVING (Regis_grade.Username = @Username) AND (Regis_grade.semasterid = @semasterid)

|
 |
 |
 |
 |
Date :
2010-01-26 12:17:01 |
By :
น้ำ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
โค๊ดเกรดเฉลี่ย ของแต่ละเทอม
SELECT round(sum(((dip.course.th_cr + dip.course.lb_cr))* dip.grade.value) / sum(dip.course.th_cr + dip.course.lb_cr),2) as ttt
from dip.course ,dip.transcript ,dip.grade
where (dip.transcript.student =?) and
(dip.transcript.semester =?) and
(dip.course.id = dip.transcript.course) and
(dip.transcript.grade=dip.grade.id)">
โค๊ดเกรดเฉลี่ยรวม
SELECT round(sum(((dip.course.th_cr+dip.course.lb_cr))* dip.grade.value)/sum (dip.course.th_cr+dip.course.lb_cr),2)as all_credit_a
from dip.course ,dip.transcript,dip.grade
where dip.transcript.student =?
and dip.transcript.semester between '100' and ?
and dip.course.id=dip.transcript.course
and dip.transcript.grade=dip.grade.id">
หนูหาโค๊ดตัวอย่าง มาได้
แต่อยากจะแปลงมาใช้ในโปรเจคหนูนะค่ะ ยังทำไม่ได้เลย
จะให้แสดง สอง อย่าง คือ
- เกรดเฉลี่ยเทอม
กับ
- เกรดเฉลี่ยรวม
|
 |
 |
 |
 |
Date :
2010-01-26 12:31:00 |
By :
น้ำ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ที่ต้องการคือ ทำ command query ใช่มั้ยครับ ถ้าผมมี database ผมอาจจะ query ให้ได้ ที่นี้ผมไม่รู้ database ของคุณอะดิครับ
coding ก็แค่วิธีการ ให้เราเอาไปประยุกต์ใช้ แต่ถ้าไม่รู้ concept เลย อ่านไปก็งงครับ อีกอย่าง การออกแบบ database ก็ไม่เหมือนกันอีก
ลองส่ง script sql มาครับ จะได้ลองดูเผื่อช่วยได้ ก็ไม่มันใจน่ะ ออกตัวก่อนครับ แต่จะช่วยเต็มที่
|
 |
 |
 |
 |
Date :
2010-01-26 13:09:19 |
By :
numenoy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|

|
 |
 |
 |
 |
Date :
2010-01-26 13:39:59 |
By :
น้ำ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตาราง Regis_grade เป็นตารางที่เก็บผลการเรียน เวลาที่อาจารย์กรอกเข้า
ตาราง Grade เป็นตารางที่จะเอาค่าเกรดที่ได้มาคำนวณ
ส่วนหน่วยกิต จะอยู่ที่ตาราง Subject คือรายวิชาค่ะ
|
 |
 |
 |
 |
Date :
2010-01-26 13:56:03 |
By :
น้ำ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เด๋วหนูส่ง ดาต้าเบสให้นะค่ะ
http://www.upload-thai.com/download.php?id=4ac36e171f1cdfbfbaa40796c190957f
|
 |
 |
 |
 |
Date :
2010-01-26 14:00:14 |
By :
น้ำ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
พรุ่งนี้ดูให้ครับ โอเคๆ
|
 |
 |
 |
 |
Date :
2010-01-26 17:37:05 |
By :
numenoy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
SELECT a.Username, a.subjectid, a.semasterid, a.grade, c.value, b.SubUnit
FROM
Regis_grade a, [Subject] b, grade c
WHERE
a.subjectid = b.Subjectid
AND
a.grade = c.grade
อันนี้ sql ที่ใช้ดึงข้อมูลนักศึกษา ประกอบด้วย
Username = นักศึกษา
subjectid = รายวิชา
semasterid = ถ้าเดาไม่ผิด คือ เทอมใช่มั้ย เช่น 521 คือ ปี 2552 เทอม 1
grade = เกรด
value = ค่าของเกรด เช่น A = 4, F = 0 แต่ null อันนี้ ไม่รู้นะ ไม่ได้ใส่มาป่าว
SubUnit = หน่วยกิตรายวิชา
พอได้แบบนี้แล้ว เราก็มาืำทำการรวมเกรดได้แล้วครับ ลองเอา sql script ไปลอง run ดูก่อนนะ จะได้พอมองเห็นภาพออก...
|
 |
 |
 |
 |
Date :
2010-01-27 09:05:54 |
By :
numenoy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|