ms access - SQL COUNT command -


create table student_exam(   exam_id integer,   s_id integer,   primary key (exam_id, s_id),   foreign key (exam_id) references exams(exam_id),   foreign key (s_id) references students(s_id),   pass text );  create table students(   s_id integer primary key,   first_name text,   surname text );  create table exams(   exam_id integer primary key,   date_taken date ); 

how can correct this?

select max(students.s_id) s_id, **count(pass="yes")** no_of_exams_taken student_exam, students, exams students.s_id=student_exam.s_id , exams.exam_id=student_exam.exam_id , (exams.date_taken)>=#1/1/2010# , (exams.date_taken)<=#12/31/2010# group student_exam.s_id; 

i count number of exams each student has passed? how count should in select command?

select student.s_id, count(*) final_exam_level student, exams, student_exam (student.s_id)=student_exam.s_id , ((exams.exam_id)=student_exam.exam_id) , (exams.date_taken)<=#12/31/2010# group student.s_id, student.course_level order student.s_id;

above correct query

select s.s_id student_id, count(*) students s left join student_exam se on s.s_id = se.s_id , se.pass='yes' left join exam e on se.exam_id = e.exam_id group s.s_id 

i suggest change pass non text field. if going have yes , no should boolean.


Comments

Popular posts from this blog

objective c - Change font of selected text in UITextView -

php - Accessing POST data in Facebook cavas app -

c# - Getting control value when switching a view as part of a multiview -