Вопрос - Ответ по MySQL

Форум / PHP общие вопросы / Базы данных / Печать / RSS-лента
0
681. DimmoS (06.02.16 / 09:48)
Чатланин
В общем есть запрос списка контактов
SELECT `id` FROM `users` WHERE
`id` IN (SELECT `id_from` FROM `messages` WHERE
`id_to` = ".$id." AND `del_to` = 0)
OR `id` IN (SELECT `id_to` FROM `messages` WHERE `id_from` = ".$id." AND `del_from` = 0)
Нужно сделать вывод с сортировкой по последним сообщениям, пробовал так

SELECT `id` FROM `users` WHERE
`id` IN (SELECT `id_from` FROM `messages` WHERE `id_to` = ".$id." AND `del_to` = 0 ORDER BY `id` DESC)
OR `id` IN (SELECT `id_to` FROM `messages` WHERE `id_from` = ".$id." AND `del_from` = 0 ORDER BY `id` DESC)
не помогает, кто сообразит в чем загвоздка?
Отредактировано: DimmoS (06.02.16 / 09:57)
0
682. ramzes (06.02.16 / 10:59)
2000 лет д.н.э.
Left join используй, выгребай сообщения и джоином их авторов
0
683. DimmoS (06.02.16 / 11:35)
Чатланин
682. ramzes, с ёинами пробовал, но у меня с ними криворуко пока получается, я их еще не вкурил))
0
684. DimmoS (06.02.16 / 12:29)
Чатланин
в общем попробовал с LEFT JOIN
$query = 'SELECT `u`.`id`,`u`.`name`,`u`.`family`,`u`.`avatar`,`u`.`online`, `m`.`id_to`,`m`.`id_from` 
FROM `users` `u`
LEFT JOIN `messages` `m` ON
`m`.`id_from` = `u`.`id` WHERE `m`.`id_to` = '.$id.'
OR
`m`.`id_to` = `u`.`id` WHERE `m`.`id_from` = '.$id.'';

ругается На синтакс
syntax to use near 'WHERE `m`.`id_from` = 
где я накосячил?
Отредактировано: DimmoS (06.02.16 / 12:34)
0
685. DimmoS (06.02.16 / 19:44)
Чатланин
$query = 'SELECT DISTINCT `u`.`id`, `u`.`name`,`u`.`family`,`u`.`avatar`,`u`.`online` 
FROM `users` `u`
RIGHT JOIN `messages` `m` ON
`m`.`id_from` = `u`.`id` OR `m`.`id_to` = `u`.`id`
WHERE
`m`.`id_to` = '.$id.' AND `m`.`id_from` = `u`.`id`
OR
`m`.`id_from` = '.$id.' AND `m`.`id_to` = `u`.`id`
GROUP BY `u`.`id` ORDER BY `m`.`time` DESC';

Вот так выводит всё, но опять без сортировки, а нужна сортировка по последним сообщениям с группировкой по id юзера
0
686. DimmoS (06.02.16 / 22:42)
Чатланин
справился без join обычным подзапросом с union all
Смайлы / Теги / Правила / Топ тем / Поиск