現在、次の2つのクエリを使用しています。
$get_forum=$this->prepare("SELECT * FROM ".TBL_PREFIX."forums WHERE id=:forum_id");
$get_forum->bindParam(":forum_id", $forum_id);
$get_forum->execute();
$forum=$get_forum->fetchAll();
$get_parent=$this->prepare("SELECT * FROM ".TBL_PREFIX."forums WHERE id=:parent_id");
$get_parent->bindParam(":parent_id", $forum["parent_id"]);
$get_parent->execute();
それらを1つのクエリに結合して、バインドされたパラメータまたはデータベースのフィールドの値を使用するようなものにしたいと思います。データベースからフォーラムデータを取得するまで、親IDが何であるかわかりません。
親フォーラムのparent_idは-1ですが、子フォーラムのparent_idは親のIDに設定されています。
$get_forums=$this->prepare("SELECT * FROM ".TBL_PREFIX."forums WHERE id=:forum_id OR forum_id=parent_id");
$get_forums->bindParam(":forum_id", $forum_id);
$get_forums->execute();
クエリ自体の内部でフィールド値を使用して、別の値と比較することは可能ですか?
データベースサンプル: http ://sqlfiddle.com/#!2 / 2b354 / 1