2010-08-06 9 views
1

지금까지 모든 학생들의 에세이를 나열 할 수 있지만 등급이 부여 된 학생 에세이 만 표시하고 싶고 어떻게 할 수 있을지 궁금해하고 있었습니까? MySQL 코드에 추가해야 할 것은 무엇입니까?MySQL 쿼리 문제

미리 도움을 주셔서 감사합니다!

여기 내 MySQL 코드로 지금까지 얻은 바가 있습니다.

SELECT students.*, students_essays.* 
FROM students 
INNER JOIN students_essays ON students.student_id = students_essays.student_id 
ORDER BY students_essays.id DESC 

다음은 내 MySQL 테이블입니다.

CREATE TABLE students_essays (
id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
student_id INT UNSIGNED NOT NULL, 
content TEXT NOT NULL, 
PRIMARY KEY (id) 
); 


CREATE TABLE students (
student_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
student_first_name VARCHAR(255) DEFAULT NULL, 
student_last_name VARCHAR(255) DEFAULT NULL, 
pass CHAR(40) NOT NULL, 
PRIMARY KEY (student_id) 
); 


CREATE TABLE essays_grades (
id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
grade_id INT UNSIGNED NOT NULL, 
students_essays_id INT UNSIGNED NOT NULL, 
student_id INT UNSIGNED NOT NULL, 
PRIMARY KEY (id) 
); 

CREATE TABLE grades (
id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
letter_grade VARCHAR(2) DEFAULT NULL, 
grade_points FLOAT UNSIGNED NOT NULL DEFAULT 0, 
PRIMARY KEY (id) 
); 

답변

1

에세이 _ 그레이드 테이블 (그리고 그레이드 테이블을 원할 경우 성적 테이블)에 내부 조인하면됩니다.

SELECT students.*, students_essays.* 
FROM students 
INNER JOIN students_essays ON students.student_id = students_essays.student_id 
INNER JOIN essays_grades ON students_essays.id = essays_grades.students_essays_id 
ORDER BY students_essays.id DESC 

여기에 당신은 (FROM 절에서 테이블 이름 뒤에 별칭을 제공함으로써) 테이블 이름을 별칭과 전체 이름으로 그들에게 참조 중지 할 수 있습니다 ... 몇 가지 팁, 그리고 당신이 가입 말할 단지 수 내부 조인이라고 함축되어 있습니다. 왼쪽은 가입/어떤 성적없이 에세이를 표시합니다 NULL IS -

SELECT st.*, es.* 
FROM students st 
JOIN students_essays es ON st.student_id = es.student_id 
JOIN essays_grades gr ON es.id = gr.students_essays_id 
ORDER BY es.id DESC 
0

에세이 테이블의 성적 테이블에 가입하고 기존 레코드를 확인하십시오.

SELECT students.*, students_essays.* 
FROM students 
INNER JOIN students_essays ON students.student_id = students_essays.student_id 
INNER JOIN essays_grades ON students_essays.id = essays_grades.students_essays_id 
ORDER BY students_essays.id DESC 
+0

영업 이익은 단지 그것을 내부 조인 사용하는 나에게 안전 그래서, 등급 에세이를보고 싶어. –

+0

좋은 캐치, 고마워. –