Php 如何从3个表生成学生分数分类账-学生、分数、科目

Php 如何从3个表生成学生分数分类账-学生、分数、科目,php,mysql,sql,database,report,Php,Mysql,Sql,Database,Report,我有四张桌子 1.学生-包含id名称等 2.分数-它包含分数id、学生id、批次、班级、部门、科目id、考试id、成绩分数 3.subject表-它包含sub_id、sub_名称 4.考试类型-考试类型id,考试名称 我需要2014批次的mark分类账,类别=5,部分=1,考试id=3,如下所示- NAME ROLL NO SUB1 SUB2 SUB3 TOTAL RESULT POSITION RANK RAM 0054 65 54

我有四张桌子
1.学生-包含id名称等
2.分数-它包含分数id、学生id、批次、班级、部门、科目id、考试id、成绩分数
3.subject表-它包含sub_id、sub_名称
4.考试类型-考试类型id,考试名称

我需要2014批次的mark分类账,类别=5,部分=1,考试id=3,如下所示-

NAME ROLL NO SUB1 SUB2 SUB3 TOTAL RESULT POSITION RANK RAM 0054 65 54 64 183 PASS FIRST 2 HAri 0054 65 54 65 184 PASS FIRST 1 gopal 0054 65 50 65 180 PASS FIRST 3 saroj 0054 65 44 65 174 PASS FIRST 4 姓名名册编号SUB1 SUB2 SUB3总成绩职位排名 RAM 0054 65 54 64 183第一次通过2 HAri 0054 65 54 65 184通过第一个1 gopal 0054 65 50 65 180通过第一个3 saroj 0054 65 44 65 174通过第一个4 提前谢谢

这里有sql查询

SELECT `marklists`.`mrk_sub_id1`, `marklists`.`mrk_marks`, `marklists`.`mrk_practical`, `marklists`.`mrk_exam_type`, `students`.`id` as st_id, `students`.`st_roll`, `students`.`st_name`, `students`.`batch`, `students`.`st_class`, `students`.`st_section`, `courses`.`id`, `classes`.`class_name` as class_name, `courses`.`sb_name` as subject_name, `courses`.`sb_fullmark` as full_marks, `courses`.`sb_passmark` as pass_marks FROM (`marklists`) LEFT JOIN `classes` ON `marklists`.`mrk_class` = `classes`.`id` LEFT JOIN `students` ON `marklists`.`mrk_student_id`=`students`.`id` LEFT JOIN `courses` ON `marklists`.`mrk_sub_id`=`courses`.`id` WHERE `marklists`.`mrk_exam_type` = '3' AND `marklists`.`mrk_batch` = '3' AND `marklists`.`mrk_class` = '1' AND `marklists`.`mrk_section` = '1' 选择“标记列表”。`mrk\U sub\U id1`、`marklists`、`mrk\U marks`、`marklists`、`mrk\U实用`, `标记列表`.`mrk_考试类型`.`students`.`id`作为st_id,`students`.`st_roll`, `学生`.`st_name`、`students`.`batch`、`students`.`st_class`, `学生`.`st_section`、`courses`.`id`、`classes`.`classes_name`作为班级名称, `课程`.`sb_name`作为科目名,`courses`.`sb_满分`作为满分, `课程`.`sb_passmark`作为(`marklist`)的及格分数 左键连接“标记列表”上的“类”。'mrk_class`='classes`.'id` 左键加入“标记列表”中的“学生”。`mrk_学生id`=`students`.`id` 左键连接'marklist'上的'courses'。'mrk_sub_id`='courses`.'id` 其中,`marklists`.`mrk\U考试类型`3'和`marklists`.`mrk\U批次`3' 和`标记列表'。`mrk_类`='1'和`标记列表'。`mrk_部分`='1'
我需要上面的分类账任何帮助???

基于公共键连接表,对于主题所需的标题,可以使用pivot操作符将行转换为列,并使用where子句处理其余条件
希望这有帮助。

谢谢这里我有sql结果数组谢谢你对我的问题的回答,我不知道如何透视结果数组,所以我在问题中添加了sql。