如何在MySQL中获取带有id数组的行


How to get rows with array of ids in MySQL

我正在尝试获取指定电影的流派列表,有我的表的结构

第一张表是流派

+------------------------------+
| id   |  name   | description |
+------------------------------+
| 15   |  Comedy |  Desc...    |
| 21   |  Drama  |  Desc...    |
+------------------------------+

第二张表是Movie_Genres

+-------------------------------+
| id   | genre_id  |  movie_id  |
+-------------------------------+
|  1   |    15     |  231423    |
|  2   |    21     |  231423    |
+-------------------------------+

我想得到所有类型的电影与id 231423

网站是多语言和获取电影信息使用此代码

  $movie = $this->app->db->rawQuery("SELECT Movies.*, Movies_Content.*
                                 FROM Movies
                                 INNER JOIN Movies_Content
                                 ON Movies.id = ? AND Movies_Content.movies_id = ? AND Movies_Content.i18n = ?", array($id, $id, 'en'));

尝试使用这样的代码,但得到错误

如何创建查询以获取指定电影的所有类型信息?

您可以通过以下查询从Genres表中获取属于特定电影的类型的任何信息:

SELECT g.*
FROM Genres g
  INNER JOIN Movie_Genres mg
    ON g.id = mg.genre_id
WHERE mg.movie_id = 231423 /* your movie id here */