두개의 테이블 정렬 질문입니다.
본문
students 라는 테이블과 records 라는 테이블 두개가 있습니다.
students는 학생정보만 records는 학생 성적이 들어가있습니다.
sutdents는 id,record_id,name 이렇게 3개의 칼럼이
records는 id,student_id,score 이렇게 3개의 칼럼이 있습니다.
$student_sql = "select * from students";
$student_result = sql_query($student_sql);
foreach($student_result as $row){
$record_sql = "select * from records where student_id ='{$row['student_id']}'";
$record_result = sql_fetch($records_sql);
echo $record_result['score'];
//결과값 : 85
}
이렇게 전체 학생 테이블을 돌리고 레코드 테이블에서 해당학생 아이디를 찾아서 점수를 뿌려주는데요.
원하는대로 점수는 아주 잘나옵니다.
그런데 이거를 점수가 높은 순으로 정렬을 하고 싶은데 students 테이블을 돌리고 그 안에서 records 테이블에서 값을 찾아서 반영 해 주는거라 records 테이블의 score로는 정렬이 안됩니다..
어떻게 해야 records 의 score로 정렬을 할 수 있을까요?
또 이런 방식이 맞는지도 궁금합니다..
!-->답변 1
$sql = "select s.name,r.* from stdunets as s join records as r on s.id=r.student_id order by score desc";
쿼리를 이렇게 바꾸셔서 실행하시면 될듯 합니다.
!-->
답변을 작성하시기 전에 로그인 해주세요.