[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: SQL запрос, сортировка с LEFT JOIN
inpost
Обычный запрос с LEFT JOIN, во второй таблице несколько фотографий. Если запрос делать так:
SELECT `photo` FROM `dat_profile_photo` ORDER BY `date` DESC LIMIT 1
, то всё работает отлично, если же уже такой запрос, то почему то не берётся та единственная фотография, которая последняя по дате, хотя и прописал сортировку по дате в обратном порядке.
SELECT a.`id` , a.`login` , a.`age` , b.`photo` , b.`date` 
FROM `dat_profile` a
LEFT JOIN `dat_profile_photo` b ON b.`id_parent` = a.`id`
WHERE b.`id_parent` IS NULL OR b.`id_parent` IS NOT NULL
GROUP BY
a.`id`
ORDER BY a.`lastactive` DESC , b.`date` DESC
LIMIT
3 , 6


Чтобы не путались с лимитом, во втором запросе достаётся 3 профиля, к ним из соседней таблицы должны присоедениться по фотографии (последней по дате).



Спустя 2 часа, 51 минута, 28 секунд (13.01.2011 - 09:24) linker написал(а):
Потому что сортировка происходит по уже сгруппированным данным.

Спустя 8 часов, 51 минута, 14 секунд (13.01.2011 - 18:15) inpost написал(а):
linker
А как сделать сортировку до группирования в этом запросе?

Спустя 6 минут, 14 секунд (13.01.2011 - 18:21) gidrosoldat написал(а):
У меня похожая проблема в соседнем поле, если найдете ответ черкните ради Бога ))

Спустя 10 дней, 20 часов, 31 минута, 42 секунды (24.01.2011 - 14:53) gidrosoldat написал(а):
Цитата (inpost @ 13.01.2011 - 15:15)
linker
А как сделать сортировку до группирования в этом запросе?

Не уверен на сто процентов, но может такой фокус удасться. Сортировку делать не под конец, а отсортировать таблицу до выборки данных.
Например:

SELECT a.`id` , a.`login` , a.`age` , b.`photo` , b.`date` FROM ( 
(
SELECT * FROM `dat_profile` ORDER BY `date` DESC) а ....


Увы, на работе мускула нету (я не програмист совсем), не могу проверить ...


_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.