2026, 새로운 도약을 시작합니다.

두개의 테이블 정렬 질문입니다. 채택완료

students 라는 테이블과 records 라는 테이블 두개가 있습니다.

students는 학생정보만 records는 학생 성적이 들어가있습니다.

sutdents는 id,record_id,name 이렇게 3개의 칼럼이

records는 id,student_id,score 이렇게 3개의 칼럼이 있습니다.

Copy


$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개

채택된 답변
+20 포인트
Copy


$sql = "select s.name,r.* from stdunets as s join records as r on s.id=r.student_id order by score desc";

쿼리를 이렇게 바꾸셔서 실행하시면 될듯 합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

대단히 감사합니다... 이런방법이 있었군요 정말 감사합니다..

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고