Объединить два SQL запроса
Нужно объединить два следующих SELECT в один запрос, чтобы вывести сообщения всех пользователей на одной странице.
Первый запрос показывает сообщения только от друзей - сообщения остальных пользователей, не находящихся в списке друзей, не видны.if(empty($this->pages)) {
$query = sprintf("SELECT * FROM `messages` USE INDEX(`news_feed`) LEFT JOIN `users` ON `users`.`idu` = `messages`.`uid` AND `users`.`suspended` = 0 WHERE (`messages`.`uid` IN (%s) AND `messages`.`page` = 0 AND `messages`.`group` = 0 AND `messages`.`public` != 0 %s%s) ORDER BY `messages`.`id` DESC LIMIT %s", $this->friendsList, $start, $from, ($this->per_page 1))
}
Второй запрос показывает сообщения всех пользователей, вне зависимости от того, являются ли они друзьями или нет, но в этом случае сообщения от друзей в ленте публикаций не видны, и отображаются сообщения заблокированного пользователя, что является ошибкой.if(empty($this->pages)) {
$query = sprintf("SELECT * FROM messages, users WHERE users.suspended = 0 AND messages.group = 0 AND messages.public = 1 AND messages.public 0 AND messages.uid = users.idu %s %s ORDER BY messages.id DESC LIMIT %s", $start, $from, ($this->per_page 1))
}
25.02.2022 20:33