Перечитал весь форум и мануал по Mysql, много повторил и закрепил. Но ни как не могу решить один запрос к базе.
Имеется две таблицы tab_1 и tab_2 с множеством полей в одной и второй. Для меня важны два поля в tab_1 и одно в tab_2
tab_1
id -- pole_1
1 -- - 0
2 -- - 0
3 -- - 0
4 -- - 0
5 -- - 0
6 -- - 1
7 -- - 1
8 -- - 2
9 -- - 3
10 -- 3
11 -- 3
12 -- 4
поле id это все разделы и подразделы
поле pole_1 разделы, которые включают подразделы из поля id
Например,
если pole_1 = '0' //, то это главный раздел (не включает подразделов)
если pole_1 = 'id' //,то подраздел входит в такой же раздел ( pole_1='3' означает, что подразделы (id)9,10,11 входят в раздел 3 или раздел 3 включае подразделы 9,10,11
tab_2 здесь важно поле элементов
proba_2
6
7
7
7
7
8
8
в примере получается элементов: раздела 1 подраздела 6 - один, раздела 1 подраздела 7 - четыре, элементов раздела 2 подраздела 8 - два,
а раздел 3 содержит пустые подразделы 9,10,11
раздел 4 содержат пустой подраздел 12
раздел 5 не содержит ни подразделов ни элементов
в поле proba_2 ,5
следующим кодом вывожу главные разделы, подразделы и количество элементов в подразделах
===========================
$sql = "SELECT * FROM ".$prefix."_tab_1 WHERE pole_1 = '0' ORDER BY title";// выбираю главные разделы и сортирую их по названию
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result)) {
echo "$row[title]";// вывожу название главных разделов
$sqlss = "SELECT * FROM ".$prefix."_tab_1 WHERE pole_1 = '$row[id]' ORDER BY title";// выбираю подразделы, привязываю их к разделам и сортирую по названию
$resultss = $db->sql_query($sqlss);
while ($rowss = $db->sql_fetchrow($resultss)) {
$num = $db->sql_numrows($db->sql_query("SELECT * FROM ".$prefix."_pole_2 WHERE proba_2 like '%$rowss[id]%'"));//выбираю количество элементов для подразделов, которые входят в главные разделы
echo "$rowss[title] - $num";//вывод названий подразделов и количества элементов в них
}
}
===========================
Все это работает нормально.
А вот посчитать количество элементов в главных разделах ни как не могу.
$num = $db->sql_numrows($db->sql_query("SELECT * FROM ".$prefix."_firms_firms WHERE firm_cat like '%$row[cat_id]%'"));// так одни нули
$num = $db->sql_numrows($db->sql_query("SELECT * FROM ".$prefix."_firms_firms WHERE firm_cat = '$row[cat_id]'"));// так тоже одни нули
$num = $db->sql_numrows($db->sql_query("SELECT * FROM ".$prefix."_firms_firms WHERE firm_cat like '%$rowss[cat_id]%' AND firm_cat like '%$rowss[sub_cat]%'"));// так тоже одни нули
===============
$sqlss = "SELECT * FROM ".$prefix."_firms_firms_cat WHERE cat_id = '$row[sub_cat]' ORDER BY cat_title";// такой запрос выдает только разделы без подразделов вообще
различными вариациями удается посчитать количество разделов в подразделах или же выводится количество всех элементов в каждый главный раздел вне зависимости от того есть там элементы или нет.
Прошу подсказать
1. как составить запрос
2. как вывести количество всех элементов для каждого главного раздела.