FIRST QUERYiはLEFT JOINをOR INNER JOINをまたはRIGHT SECOND QUERY
$sql="SELECT distinct(syllabus.syllabusName) as subjectName,$cid as courseId, stud.batchId as batchId,course.courseId,course.syllabusId AS subjectID,course.unitId,stud.studentID as studentID ,concat(stud.studentFirstName,' ',stud.studentLastName,' ',stud.studentRegistrationNumber) AS studentName
FROM studentdetails stud
INNER JOIN `coursemapping` course
ON stud.`courseId`=course.courseId
INNER JOIN syllabus syllabus
ON course.syllabusId=syllabus.syllabusId
WHERE course.courseId ='$cid' AND course.syllabusId='$sid' AND stud.`batchId`='$bid'";
単一のクエリに
$sql=" SELECT A.assignmentId, A.unitId, B.assignmentName, C.assignmentsBatchId AS batchId, C.courseId AS courseId,C.assignmentMappingId, D.studentId, concat(E.studentFirstName, ' ', E.studentLastName, ' ', E.studentRegistrationNumber) AS studentName
FROM studentdetails E
INNER JOIN assignmentscompleted D ON E.studentId = D.studentId
INNER JOIN assignmentsbatch C ON D.assignmentId = C.assignmentMappingId
INNER JOIN assignments B ON D.assignmentId = B.assignmentId
INNER JOIN assignmentsMapping A ON B.assignmentId = A.assignmentId
WHERE A.assignmentId = '$sid'
AND C.assignmentsBatchId = '$bid'
AND C.courseId ='$cid'";
THIRD QUERY
$sql = "SELECT distinct(C.syllabusName) as subjectName,B.maxAccadamicMarks as marksScored,B.academicMarks as maxMarks,B.marksPercentage as percentage
FROM studentdetails A INNER JOIN marks B
ON A.studentId=B.studentId AND A.courseId=B.courseId AND A.batchId=B.batchId
INNER JOIN syllabus C
ON B.syllabusId=C.syllabusId WHERE A.studentUserName='$studentUserName'";
を3別のクエリを接合するためにJOINを使用すべきここでは、件名、学生、accmarks、マーク、パーセンテージを取得するために、3つのクエリにすべて参加する必要がありますか?この3つのクエリをすべて単一のクエリに結合する方法
私は、関連するテーブルのいくつかが同じであっても、異なるタイプのデータをフェッチしているため、これらのクエリを単一のテーブルに結合することはできないと言います。 –
だから解決策は何ですか – dude
なぜこれらをすべて単一のクエリとして実行する必要がありますか?リンゴ、オレンジ、泥を取り出す場合は、それらをすべて泥風味の果物パイに焼く代わりに、別々に取り出します。 –