koumos Δημοσ. 16 Ιουνίου 2008 Δημοσ. 16 Ιουνίου 2008 καλησπερα σας. εχω μια βαση δεδομενων και πρεπει να διατυπωσω το εξης ερωτημα. Παρουσιάστε μια κατάσταση με όλα τα μαθήματα του προγράμματος σπουδών και το ποσοστό επιτυχίας των φοιτητών σε αυτά. Η κατάσταση θα περιλαμβάνει τις στήλες: <CourseID, Description, PassRatio>, με τις εγγραφές ταξινομημένες ως προς <CourseID>, όπου το PassRatio δηλώνει το ποσοστό (%) των προβιβάσιμων βαθμών επί του συνόλου των βαθμολογιών που έχουν καταχωρηθεί για το συγκεκριμένο μάθημα. εχω ηδη γραψει τον εξης κωδικα σε SQL Server 2005 select distinct CourseID, Description,temp.PassRatio from Courses ,( select AVG(A.Grade)/100 as PassRatio from Grades A, Classes B, Courses C where A.ClassID=B.ClassID and C.CourseID=B.CourseID group by A.Grade having A.Grade>=5)as temp και η βαση και οι πινακες που εχω ειναι οπως φαινονται στη φωτο..
SpirosG86 Δημοσ. 17 Ιουνίου 2008 Δημοσ. 17 Ιουνίου 2008 Δεν παίζει να είναι σωστό, αλλά αφού το προσπάθησα είπα να το ποστάρω μπας και σε οδηγήσει κάπου. >Select distinct CourseID, Description, sumGradeΒ/sumGrade as PassRatio from Courses, (select sum(Grade) as sumGrade, from Grades, Classes, Courses where Grades.ClassID = Classes.ClassID and Classes.CourseID = Courses.CourseID) as temp, (select sum(Grade) as sumGradeB, from Grades, Classes, Courses where Grades.ClassID = Classes.ClassID and Classes.CourseID = Courses.CourseID and Grade >= 5) as temp2 where PassRatio >= 50 order by CourseID
sgoll Δημοσ. 17 Ιουνίου 2008 Δημοσ. 17 Ιουνίου 2008 ΔΕΝ ΕΙΝΑΙ ΣΩΣΤΟ ΤΟ ΠΡΟΗΓΟΥΜΕΝΟ ΓΙΑΤΙ ΔΕΝ ΚΑΝΕΙ JOIN ME TON EIKONIKO ΠΙΝΑΚΑ.
sgoll Δημοσ. 17 Ιουνίου 2008 Δημοσ. 17 Ιουνίου 2008 >Select distinct CourseID, Description,[b](select sum(Grade) as sumGrade, from Grades, Classes, Courses where Grades.ClassID = Classes.ClassID and Classes.CourseID = Courses.CourseID) [/b] from Grades, Classes, Courses where Grades.ClassID = Classes.ClassID and Classes.CourseID = Courses.CourseID PassRatio >= 50 and Grade >= 5 order by CourseID
Theoxaris Δημοσ. 17 Ιουνίου 2008 Δημοσ. 17 Ιουνίου 2008 prepei na einai etsi giati to proigoumeno sto From section den ginetai join pouthename to virtual pinaka (query) >Select distinct CourseID, Description,[b](select sum(Grade) as sumGrade, from Grades, Classes, Courses where Grades.ClassID = Classes.ClassID and Classes.CourseID = Courses.CourseID) [/b] from Grades, Classes, Courses where Grades.ClassID = Classes.ClassID and Classes.CourseID = Courses.CourseID PassRatio >= 50 and Grade >= 5 order by CourseID Δεν νομίζω ότι ζητάει το PassRatio να είναι πάνω από 50%. Επίσης νομίζω ότι θα χρειαστεί η count αφού το PassRatio ορίζεται ως: [(επιτυχόντες)/(σύνολο φοιτητών)]*100
sgoll Δημοσ. 17 Ιουνίου 2008 Δημοσ. 17 Ιουνίου 2008 Δεν νομίζω ότι ζητάει το PassRatio να είναι πάνω από 50%.Επίσης νομίζω ότι θα χρειαστεί η count αφού το PassRatio ορίζεται ως: [(επιτυχόντες)/(σύνολο φοιτητών)]*100 ΣΩΣΤΑ ΔΕΝ ΚΟΙΤΑΞΑ ΤΑ ΦΙΛΤΡΑ ΚΑΘΟΛΟΥ ΜΟΝΟ ΤΗΝ ΔΟΜΗ ΤΟΥ ΕΡΩΤΗΜΑΤΟΣ
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.