Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите составить многотабличный запрос
 
 автор: JIEXA   (13.07.2005 в 19:03)   письмо автору
 
 

Структура БД:

таблица forums

-----------
| ID |
-----------
| SUBJECT |
-----------

таблица forums_msg

-----------
| MID |
-----------
| TID |
-----------
| MSG |
-----------
| DATE | формат DATETIME
-----------
| AUTHOR |
-----------


Надо вывести темы форумов из таблицы forums упорядоченные по дате последнего сообщения из таблицы forums_msg
Поле TID содежит ID темы, к которой добавлено сообщение.
Желательно, чтобы запрос к бд был не слишком нагруженный... Заранее спасибо!

P.S. Я вчера мучился, мучился, так и не получилось составить запрос :(.

   
 
 автор: cheops   (13.07.2005 в 19:26)   письмо автору
 
   для: JIEXA   (13.07.2005 в 19:03)
 

Здесь должен быть двутабличный запрос, следующего содержания:
SELECT forums.SUBJECT FROM froums, forums_msg
WHERE froums.ID = forums_msg.TID
GROUP BY froums.ID
ORDER BY forums_msg.DATE DESC

   
 
 автор: JIEXA   (13.07.2005 в 22:42)   письмо автору
 
   для: cheops   (13.07.2005 в 19:26)
 

а что нужно в него добавить, что бы ещё к каждой теме из таблицы users бралась инфа из поля user_name?

   
 
 автор: cheops   (14.07.2005 в 02:42)   письмо автору
 
   для: JIEXA   (13.07.2005 в 22:42)
 

А структура таблицы users какая?

   
 
 автор: JIEXA   (14.07.2005 в 19:43)   письмо автору
 
   для: cheops   (14.07.2005 в 02:42)
 

Немного измененная страктура таблицы forums
-----------
| ID |
-----------
| SUBJECT |
-----------
| author |
------------

Таблица users

| user_id |
--------------------
| user_name |
--------------------
тут дальше уже идут ненужные поля...

нужна, чтобы user_id был равен author(таблица forums)

   
 
 автор: cheops   (14.07.2005 в 20:00)   письмо автору
 
   для: JIEXA   (14.07.2005 в 19:43)
 

Тогда можно прибегнуть к трёх-табличному запросу
SELECT forums.SUBJECT, users.user_name 
FROM froums, forums_msg, users
WHERE froums.ID = forums_msg.TID AND
      forums.author = users.user_id 
GROUP BY froums.ID 
ORDER BY forums_msg.DATE DESC


PS Хм... а у вас связываются таблицы users и forums, а не users и forums_msg? Нет здесь ошибки?

   
 
 автор: JIEXA   (15.07.2005 в 01:59)   письмо автору
 
   для: cheops   (14.07.2005 в 20:00)
 

Спасибо!
P.S. нет, мне нужно вывести автора данной темы, а он записывается в таблицу forums

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования