Объединить 4 таблицы, и вывести в определённой последовательности

[Удален]
900

Помогите пожалуйста написать запрос на объединение 4х таблиц..

Объясняю суть дела..

Существуют следующие таблицы (поля пишу по-минимуму):

Blogg [number, name, message, idrubriki, idpart] - записи блога

Ess_table [essid, idpart, idrubriki, title] - записи очерков

Здесь объясню подробнее, у каждого пользователя есть:

- свои посты с текстом и картинками. посты хранятся в таблице Blogg

- так же у них есть очерки, они состоят чисто из фотографий с описаниями. Данные очерков хранятся в таблице Ess_table

между собой эти 2 таблицы никак не связаны, каждая из них связывается с ещё 2мя таблицами: планы и этапы (сайт строительной тематики, блоггер создаёт некие подкатегории - план строительства и этап, с ними и завязываются посты)

Blogg_rubrika [number, name] - план строительства

Blogg_part [number, idrubriki, name] - этап строительства, подкатегория этапа, связь Blogg_part.idrubriki = Blogg_rubrika.number

дальше.. на сайте есть определённая страница, на которой в иерархическом порядке выводится таблица:

что здесь:

вывод постов завязывается с планами и этапами, соответствующими полями:

Blogg.idrubriki = Blogg_rubrika.number и Blogg.idpart = Blogg_part.number

то же самое происходит и с очерками:

Ess_table.idrubriki = Blogg_rubrika.number и Ess_table.idpart = Blogg_part.number

по отдельности у меня получается сделать так, чтобы записи постов или очерков выходили согласно приведённой выше таблице.

И вот, наконец-то, я к вопросу подобрался - каким образом можно сделать так, чтобы записи постов и очерков выводились вместе в одной таблице??

В настоящее время, вывод производится таким вот кашеобразным способом:

	

$ath = mysql_query("SELECT * FROM Blogg_rubrika WHERE userid='$userid' ");
while($author = mysql_fetch_array($ath))
{
$name1=$author['name'];
$id1=$author['number'];

$ath1 = mysql_query("SELECT * FROM Blogg_part WHERE idrubriki=$id1 ORDER BY number");
while($author1 = mysql_fetch_array($ath1))
{
$name2=$author1['name'];
$id2=$author1['number'];

# Вывод очерков
$ath2 = mysql_query("SELECT * FROM Ess_table WHERE idrubriki=$id1 AND idpart=$id2");
while($author2 = mysql_fetch_array($ath2))
{
$postname=$author2['title'];
$userid=$author2['userid'];
$id=$author2['essid'];

# подсчёт количества фотографий
$result = mysql_query("SELECT * FROM Ess_data WHERE essid=$id");
$num_picts = mysql_num_rows($result);
$counter1++;

$names3 .= "<p class='post2'><a href='http://".$login.".site.su/notes/?ids=".$id."'>".$postname."</a> (<strong>".$num_picts."</strong> фото)</p>";
}
$names2.="<p class='part2' id=".$id2." idid=".$id1."> <b id=".$id2.">".$name2."</b></p>".$names3;
}

$namess .= "<h3><p class='rubrika2' id=".$id1.">".$name1."</p></h3>".$names2;
}

ну и на выходе уже имеем сформированную таблицу $namess

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий