【mysql PDO】同じカラム構成の複数のテーブルで検索をかけるには お世話になります。やりたいことは、カラム等構成が全く同じ内容のテーブルが12個あるのですが、これを効率よく検索したいのですがやり方がわかりません。 table1, table2 ~ table12 まで12個のテーブルがあり、カラムは、 no, subj, name, com と全て同じ構成です。 検索フォームで入力されたワードで検索を行うのに、一つだけのテーブル(table1)の場合としてこのように書きました。 $keyword = filter_input( INPUT_POST, "keyword"); //全角スペースを半角スペースに変換 $keyword = preg_replace('/ /', ' ', $keyword); //連続する半角スペースを1つの半角スペースに変換する $keyword = preg_replace('/\s+/', ' ', $keyword); //半角スペースで区切って配列化する $keyword = explode(' ', $keyword); //while句内条件部分をループで変数に入れる。 for($x = 1; $x <= count($keyword); $x++){ $keywordCondition[] = " concat(subj, name, com) like :word$x"; } //配列をANDで結合して一つの文字列にする $keywordCondition = implode(' AND ', $keywordCondition); $sql = "SELECT * FROM table1 WHERE ". $keywordCondition ." ORDER BY no DESC"; $key_serch = $db->prepare($sql); for ($x = 1, $y = 0; $x <= count($keyword), $y < count($keyword); $x++, $y++){ $key_serch ->bindValue(':word'.$x,'%'.$keyword[$y].'%', PDO::PARAM_STR); } $key_serch->execute(); これを複数のテーブルから行うにはどのようにすれば良いでしょうか? よろしくお願いします。
MySQL