Лучший подход - это сначала структурировать вашу базу данных:
Table 'game':
| id | title | description |
Table 'models':
| id | name | description |
Table 'genres':
| id | name | description |
Table 'game2model':
| game_id (FK to game.id) | model_id (FK to models.id) |
Table 'game2genre':
| game_id (FK to game.id) | genre_id (FK to genres.id) |
Как только ваша БД нормализуется таким образом, выполнять фильтрацию SQL очень легко. Этот псевдо-SQL-код должен помочь вам в правильном направлении:
[Мы предполагаем, что идентификаторы ваших жанров 1,2,3, а идентификаторы моделей 10, 11 и 12].
SELECT g.id, g.name, g.description<br>
FROM games g, games2genre gg, games2model gm<br>
WHERE gg.game_id = g.id<br>
AND gm.game_id = g.id<br>
AND gg.genre_id IN (1,2,3)<br>
AND gm.model_id IN (10,11,12)<br>
ORDER BY g.name ASC