выборка нескольких таблиц в одном запросе

Это тридцать человек в одном хоре. так что я извиняюсь!

но я не получил то, что хочу!

я попытаюсь объяснить подробнее ..

У меня две таблицы.

POSTS <- my (все сообщения сайта) КОММЕНТАРИИ <- my (все комментарии сайта)

я хочу отображать все POSTS и КОММЕНТАРИИ на этой странице

купить (1 запрос)

у меня в таблице POSTS (100 сообщений), и у меня есть в КОММЕНТАРИИ таблица (20 комментариев)

я пробую этот код

$qq = mysql_query("SELECT posts.*,comments.* FROM posts LEFT JOIN comments ON posts.post_id = comments.post_id"); while($tt = mysql_fetch_array($qq)){ echo $tt['comment_title'] . '<br />'; //the title of comments ! } 

в выше, iam пытается напечатать название комментария

Я сказал выше, у меня есть (только 20 комментариев)!

код выводится (120 комментариев с повторением!)

120 – общая сумма двух таблиц!

/ * Я хочу только распечатать 20 комментариев и 100 сообщений (в одном запросе)

Как я могу это сделать! ?

в конце я сожалею об этом больше вопроса

но мне действительно нужна помощь! мой сайт не работает

Ваш вопрос супер двусмыслен, поэтому я сделаю все возможное:

 SELECT * FROM posts LEFT JOIN comments ON posts.post_id = comments.post_id 

Это запрос, который вы хотите (то же самое, что и у вас, но * вместо «posts. , Comments». ).

Это, конечно же, будет извлекать все строки в сообщениях, даже если у них нет комментариев. Вам нужно сделать:

 SELECT * FROM posts LEFT JOIN comments ON posts.post_id = comments.post_id WHERE posts.post_id= = <some_id> 

чтобы получить только комментарии конкретной записи. Конечно, это было бы глупо, поскольку это было бы то же самое, что просто делать:

 SELECT * FROM comments WHERE post_id = <some_id> 

Если вы хотите только выбирать строки в сообщениях, у которых есть комментарии, вы должны сделать:

 SELECT * FROM posts INNER JOIN comments ON posts.post_id = comments.post_id 

Или

 SELECT * FROM posts NATURAL JOIN comments 

(они имеют одинаковый эффект)

Я предполагаю, что вам нужно получить все сообщения (и по сообщениям, которые вы имеете в виду статьи)

да, вы можете использовать один запрос:

 SELECT * FROM articles; 

Получить все статьи

 <?php $sql = "SELECT * FROM articles"; $query = mysql_query($sql); while($result = mysql_fetch_assoc($query){ echo $result['post_title']; } ?>