iwqn
@iwqn
Программист-самоучка

Как составить двойной MYSQLi запрос?

Есть две таблицы - блог и комментарии

blog (
	  id INT AUTO_INCREMENT,
	  Blogtitle TINYTEXT,
	  Blogtext LONGTEXT,
	  Blogkeywords TEXT,
	  Blogdate DATE,
	  Blogtema TINYTEXT,
	  Blogavtor TINYTEXT,
	  Blogimg TINYTEXT,
	  PRIMARY KEY(id)
)

comments (
	 id INT AUTO_INCREMENT,
	  idl INT,
	  Comtext LONGTEXT,
	  Commentator TINYTEXT,
	  PRIMARY KEY(id)
	)

В поле idl таблицы comments пишется id записи блога к которой оставлен комментарий. В поле Blogavtor записан автор записи блога.

Как сделать MYSQLi запрос, который выведет из таблицы comments все комментарии относящиеся только ко всем записям блога определенного автора?

Проще говоря - ленту комментариев к его записям.

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

UPDATE // Запрос составить получилось
$sql='SELECT * FROM comments WHERE idl IN (SELECT id FROM blog WHERE Blogavtor = "'.$_SESSION['ulogin'].'") ORDER BY id DESC LIMIT 0, 20';

но теперь нужно в нем же как то получить Blogtitle соответствующий названию той записи блога к которой был оставлен комментарий
  • Вопрос задан
  • 184 просмотра
Решения вопроса 2
DevMan
@DevMan
схематично так:
SELECT
	blog.Blogtitle,
	comments.*
FROM
	blog
JOIN
	comments ON comments.idl = blog.id
Ответ написан
iwqn
@iwqn Автор вопроса
Программист-самоучка
Все я сам понял

$sql='SELECT * FROM comments WHERE idl IN (SELECT id FROM blog WHERE Blogavtor = "'.$_SESSION['ulogin'].'") ORDER BY id DESC LIMIT 0, 20';
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы