2 つのテーブルに関連するクエリについてアドバイスをお願いします。
functionDetails($id){
$query = $this->db->query("select t1.gradename, t2.* from Grade as t1, Student as t2 wherestudentid = '$id' and t2.gradeid = t1.gradeid ");
return $query->result();
}
2 つのテーブルがあります。student table と成績テーブルでは、呼び出しメソッドによって渡された id 変数を使用して、指定された生徒番号の生徒情報をクエリします。ここで、sudent のすべてのフィールド値と成績名の値をクエリしたいと思います。
student と Grade は外部キーの関係であるため、Student テーブルの GradeID は Grade テーブルの GradeID と同じであり、Gradename は Grade テーブルに格納されます。
私が書いたステートメントは間違っているため、実行できません。助けてください。
------解決策----------------------
s.*, g.gradename from を選択してくださいStudent as s left join Grade as g on s.gradeid = g.gradeid where s.studentid = $id
-----解決策のアイデア------------ - --------
where 句の 'studentid' 列があいまいです
where 句の Studentid 列があいまいです。
複数テーブルのクエリでは、カラム名にプレフィックスを付ける必要があります。そうでないと、MySQL はそれを明確に区別できません。
------ソリューションのアイデア----------------------