3つのテーブルを結合したSELECT文
お世話になります。困っているので質問させて下さい。
MySQLのSQL文に関しての質問ですが、PHPで記述しているので、このPHPのカテゴリで投稿させて頂きます。ご了承下さい。
以下のようなカラムを持ったテーブルがあります。
実際に当方で用意しているカラムそのものなのですが、簡単に説明させてもらうと、この教えてGooのような質問を投稿できるサイトで、その質問となるデータを収めるのが、questionテーブル。会員データを収めるのがuserテーブル。PHPやMySQL、HTMLのように質問のジャンルを収めておくテーブルがcategory2です。
question(テーブル)
q_no q_user_no q_category_no q_title q_exp q_img q_date q_state q_answer_cnt q_solution state
user(テーブル)
user_no user_mail user_pass user_n_name user_icon
category2(テーブル)
no category_id category_no category2_name
※上記各テーブルの最初のカラムはauto-incrementとして自動で連番を与えています。
ここで質問に移ります。
questiontテーブルに質問データがいくつか収まっている状態で、質問単位(スレッド単位)で呼出すためにURLに、questionテーブルのq_noとなる番号をパラメータで渡しているのですが、
$sql = "SELECT * FROM question WHERE q_no = '$get_q_no' AND state = 'on' AND q_state = 'on'";
このように、questionだけを呼出すと問題ないものの、3つのテーブルを結合して呼出すと一部のデータが呼び出せない状態です。
$sql = "SELECT question.q_no, question.q_user_no, question.q_category_no, question.q_title, question.q_exp, question.q_date, question.q_state, question.q_answer_cnt, question.q_solution, question.state, user.user_no, user.user_n_name, user.icon, user.user_mail, category2.no, category2.category2_name FROM question INNER JOIN user ON question.q_user_no = user.user_no INNER JOIN category2 ON question.q_category_no = category2.no WHERE question.q_no = '$get_q_no' AND question.state = 'on' AND question.q_state = 'on'";
SQL文に問題があるのでしょうが、全てのデータが呼び出せないのであればともかく、一部のデータだけ呼び出せないという状況で、どこに問題があるか分からず、この場をお借りし質問させて頂ければと投稿しました。
最後になりましたが、MySQLは、5.1.22-rcです。
お忙しいなか恐縮ですが、アドバイスのほど頂戴出来れば幸いです。
宜しくお願い申し上げます。