ホームページ >バックエンド開発 >PHPチュートリアル >2つのテーブル間の関連クエリについてアドバイスをお願いします
詳細 ($ ID) {
$ Query = $ this-& gt-& gt; を選択 T1.Gradename, T2.*From Grade as T2 where Studentid = ' $ ID ' t2.gradeid = t1.gradeid ");
return $query->result();
}
2 つのテーブル、student テーブルと Grade テーブルがあります。呼び出しメソッドは、id 変数を渡して、学生の情報をクエリします。指定された学生番号で質問させてください。sudent のすべてのフィールド値と成績名の値をクエリしたいのです。
Student と Grade は外部キーの関係であるため、Student テーブルの GradeID は Grade テーブルの GradeID と同じであり、Gradename は Grade テーブルに格納されます。
ステートメントを間違って書いたので実行できません。助けてください。
select s.*, g.gradename from Student as s left join Grade as g on s.gradeid = g.gradeid where s.studentid = $id
エラー メッセージは何ですか? SQLは問題を認識しませんでした。 。 。 10 # #1052-where 句の列 'Studentid' があいまいです
Wander_wind は正しいですが、なぜ間違っていたのかわかりません。 s
select t1.gradename, t2.* from Grade as t1,student as t2 where t1.studentid = '$id' and t2.gradeid = t1.gradeid
ander_wind は正しく書かれていますが、理由がわかりません間違っています
このエラーの最も一般的な理由は、前述のように、テーブルのエイリアスをプレフィックスとして追加することが原因であることです。