ورود

View Full Version : محاسبه میانگین با دستور SQL



afshin62
پنج شنبه 23 مهر 1388, 17:13 عصر
با سلام
من دارم روی محاسبه میانگین نمرات دانشجویان کار میکنم. من توی دیتابیس 3 تا جدول دارم که با هم لینک هستن و بعد از برقراری ارتباط با INNER JOIN میخوام برای هر دانشجو معدل نمراتش رو حساب کنم.
این کدیه که من نوشتم ولی کار نمی کنه
لطفاً‌راهنماییم کنید
باتشکر


Stri = "select student.StudentID,finalgrades.finalgrade, avg(FinalGrade)" _
& "FROM (student INNER JOIN CourseStudentJunc ON Student. StudentID = CourseStudentJunc.StudentID)" _
& " INNER JOIN FinalGrades on CourseStudentJunc.JuncID = FinalGrades.JuncID group by student. StudentID "



tblStudent=student info(StudentID,name,...)
tblcourseStudentJunc=Junction table for creating many to many relationship between course and student(JuncID,StudentID,CourseID)
tblFinalGrades=saving grades of each student for each course separately (Juncid,Finalgrade)

BookWorm
پنج شنبه 23 مهر 1388, 19:46 عصر
دوست عزیز بهتر هست Database رو بگذاری . در ضمن تابع های Sum , avg ,... به تابع های غول آسا معروف هستند که معمولا با دستور having باید استفاده شوند در ضمن شما این برنامه رو فقط با sql می خواهید یا با یک زبان برنامه نویسی پیاده سازی میکنید ؟ اگر با زبان برنامه نویسی هست با فیلتر سازی بجای join جداول میتونی استفاده کنی در ضمن باید در دستورات اگر Avg,sum و یا.. میخواهید اون رو به یک چیزی نسبت دهی مثلا " select max(Id) as maxn from Table1" یا مثلا " Selecct sum(grade) as sumg from Table1"

afshin62
پنج شنبه 23 مهر 1388, 21:14 عصر
با تشکر
من دارم این کار رو در VB6 میکنم پس فقط یک String هستش ولی نمیدونم دقیقاً‌دستور SQL ‌رو چه جوری مینویسن.

کمک