Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
запрос-вопрос (diman555) 08/05/2003 - 17:20:57
      Re: запрос-вопрос (владос) 08/05/2003 - 17:20:57
      Re: запрос-вопрос (diman555) 08/05/2003 - 17:20:57
      Re: запрос-вопрос (diman555) 08/05/2003 - 17:20:57
      Re: запрос-вопрос (Marat_L) 12/05/2003 - 08:38:59

> Original message text:
> From: diman555 - 08/05/2003 - 17:20:57
> Subject:запрос-вопрос
> -----------------
> Здрасте, внимание на экран:
>
> есть 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;
>
> у меня темы повторяются, а такого не должно быть, подскажите, что нужно добавить в запрос??????
>
>


From: Marat_L - 12/05/2003 - 08:38:59
Subject:запрос-вопрос
-----------------
У меня было что-то похожее, я выкрутился только через временную таблицу:

CREATE TEMPORARY TABLE blabla
SELECT id_tems, max(d_sozd_k) AS d_sozd FROM koments GROUP BY id_tems

SELECT tems.nazv_tem, koments.a_kom
FROM tems, koments ,blabla
WHERE tems.id_tem = koments.id_tems
AND blabla.d_sozd = koments.d_sozd_k
AND blabla.id_items = koments.id_items
ORDER BY blabla.d_sozd DESC

Но у тебя есть проблема.
В базе комментариев у тебя нет первичного ключа, а значит я не могу 100%-но идентифицировать комментарий. И это при том что тебе надо как-то выцепить именно последний комментарий.

Предлагаю пока считать дату комментария + код темы уникальным сочетанием (т.е. в один день, по одной теме бывает только одно сообщение). Тогда мой код работает.

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



[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
8440



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |