Есть лента вопросов с тегами, ни как не могу составить запрос для вывода вопросов по определенному тегу.
Сайт старый - процедурный стиль.
лента всех вопросов
Для всех использую такую функцию, буду рад предложениям по лучше. LIMIT стоит для пагинации.
function helpContent($start_pos, $perpage){
$query = "SELECT h.id_q, h.title, h.tags, h.datetime, h.view,
COUNT(a.id_q) AS ans
FROM help_q h
LEFT JOIN answers a ON a.id_q = h.id_q AND a.parent_id = 0
GROUP BY h.id_q
ORDER BY h.id_q DESC LIMIT $start_pos,$perpage";
$res = mysql_query($query) or die(mysql_query());
$arrayContent = array();
$i = 0;
while($row = mysql_fetch_assoc($res)) {
$tagsNow = array();
$arrayContent[$i] = $row;
// tags (список тегов в каждому вопросу)
$query2 = "SELECT name,sef FROM help_tags
WHERE id_tag IN(".$arrayContent[$i]['tags'].")";
$res2 = mysql_query($query2) or die(mysql_query());
while($row2 = mysql_fetch_assoc($res2)) {
$tagsNow[] = $row2;
}
$arrayContent[$i]['tags'] = $tagsNow;
$i++;
}
return $arrayContent;
}
Нужно сделать запрос, чтобы выводилась лента вопросов по тегу, из входящих данных - sef (url/чпу тега), например, windows-10
таблицы
help_q - сами вопросы

help_tags - теги вопросов

answers - ответы к вопросам

Насколько я понимаю, запрос нужен такой же как в общей ленте, только добавить WHERE, и так как тегов у одного вопроса может быть несколько, в условии нужно добавить что то типа IN только наоборот.
Из моих неправильных вариантов это:
WHERE h.tags IN (SELECT help_tags.id_tag FROM help_tags WHERE help_tags.sef = 'windows-10')
Мне кажется, что как всегда решение очевидно, но я его, как всегда, не вижу. Возможно лучше для id_tag+id_q (вопросво) сделать отдельную страницу, не знаю.