powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / запрос-вопрос
4 сообщений из 4, страница 1 из 1
запрос-вопрос
    #32156606
diman555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
внимание на экран:

есть 2 таблицы:
темы (tems):
id_tem auto_incr (идентификатор темы праймари кей медиуминт)
nazv_tem
комментарии (koments):
id_tems медиум инт просто кей (идентификатор темы, тема-сообщение (1:М)
nazv_tem (название темы)
a_kom (автор комментария)
d_sozd_k (дата создания комментария)

проблема в чём, надо, чтобы запрос выводил темы сообщений (темы не должны повторяться !!!!!!) с автором, последнего добавленного к ней комментария, причём темы сортируются по дате добавления последнего добавленного к ней комментария - чем свежее последний комментарий тем выше тема в списке тем... пока додумался только до этого:

select tems.nazv_tem, koments.a_kom
from tems, koments
where tems.id_tem = koments.id_tems
order by koments.d_sozd_k DESC;

"...ёпрст", -подумал я, у меня темы повторяются, а такого не должно быть, тогда я решил сделать так:

select distinct(tems.id_tem), koments.a_kom
from tems, koments
where tems.id_tem = koments.id_tems
order by koments.d_sozd_k DESC;

+--------+--------------+
id_tem a_kom
+--------+--------------+
2 Dim
1 Dimka
1 Admin_D
1 Diman_Krutoi
+--------+--------------+
4 rows in set (0.22 sec)


помогите!!!!!!!
...
Рейтинг: 0 / 0
запрос-вопрос
    #32156607
diman555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут щас соседнее сообщение прочитал, ё-моё, неужели програмным путём придётся делать, ну ладно...
...
Рейтинг: 0 / 0
запрос-вопрос
    #32156610
Chira
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Используй временные таблицы и 2 SQL
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CTEATE TEMPORARY TABLE km_tmp
TYPE = HEAP
SELECT id_tems, MAX(d_sozd_k) max_dt
FROM koments
GROUP BY id_tems

SELECT t.nazv_tem, k.a_kom
FROM tems t, km_tmp kt, koments
WHERE t.id_tem = kt.id_tems AND kt.id_tems = k.id_tems
  AND kt.max_dt = k.d_sozd_k

Здесь может быть проблема если в одно и тоже время пришло 2 коментария.
Можно в таблицу koments добавить auto_increment поле и вместо даты использовать его.
MAX дата будет у поля с большим ID.
...
Рейтинг: 0 / 0
запрос-вопрос
    #32156623
diman555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо, но я уже программно эту проблему решил, хотя как тут время запроса меньше, а значит лучше...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / запрос-вопрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]