0

データベースに 2 つのテーブルがあります。1 つの名前はジョークで、もう 1 つは名前付きのカテゴリです。

ジョーク

CREATE TABLE `jokes` (
  `joke_id` int(11) NOT NULL AUTO_INCREMENT,
  `joke` varchar(1024) NOT NULL,
  `category_id` int(11) NOT NULL,
  PRIMARY KEY (`joke_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;

カテゴリー

CREATE TABLE `category` (
  `category_id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(51) NOT NULL,
  PRIMARY KEY (`category_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

そして、タイトルのようなホームページに表示できるように、ジョークのカテゴリ名を見つけるためのクエリはどうなるのだろうと思っていました:「有名人のジョーク」ジョーク:「マイリー・サイラスはジョークです」など..

誰かがこの問題について私を助けることができますか?私はそれが両方のテーブルを参照する $category_name という名前の変数に割り当てられたクエリ/文字列になると推測していますが、どうすればよいかわかりません.

4

2 に答える 2

0

最初に 2 つのテーブルを結合してみてください。

SELECT
* //You can filter more your columns here
FROM
jokes
LEFT JOIN category ON
jokes.category_id = category.category_id

このステートメントの後に WHERE 句を追加すると、次のようになります。

WHERE category.category_name like '%Miley%'

Miley という名前のカテゴリを持つレコードを取得することを意味します

于 2013-11-05T22:09:53.660 に答える