人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MySQLについて質問です。

データ保存用のテーブル(a_table)に「category1」と「category2」のフィールドがあるとします。
カテゴリ用テーブルには「category_id」と「cate_name」のフィールドがあるとします。

1つのカテゴリを対象とする時は
SELECT category.cate_name FROM a_table INNER JOIN category ON a_table.category1=category.category_id

とすれば、category1の表示名をcategoryテーブルから読み込むことが出来ます。


では、category1とcategory2をcategoryテーブルと結合して表示するにはどうすればいいのでしょうか?
categoryテーブルを2つ結合する方法以外でありましたら、教えていただければと思います。
(MySQLは4.1.22を利用しています)

●質問者: kt26
●カテゴリ:ウェブ制作
✍キーワード:MySQL ON SELECT カテゴリ データ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● b-wind
●60ポイント

category1とcategory2をcategoryテーブルと結合して表示する

結果をどのように表示するかによりますね。


プログラムでの並び替えも含めてよければ、

SELECT category.cate_name
 FROM a_table INNER JOIN category
 WHERE a_table.category1 = category.category_id
 OR a_table.category2 = category.category_id

でも何とかなります。

◎質問者からの返答

これだと、「category1とcategory2のどちらかがcategory_idに含まれていれば表示する」

であり、category1とcategory2の表示名を出せないです。


あくまでもやりたいことは

category1=>categoryテーブルから一致するcate_nameを表示

category2=>categoryテーブルから一致するcate_nameを表示


を1つのSQLで行い、結果として出力されればと思います。

(つまり、一致するcate_nameが2つ表示される)

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ