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

Форум MySQL

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

 

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

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

тема: Многотабличный запрос - LEFT JOIN
 
 автор: Furst   (01.07.2007 в 11:19)   письмо автору
 
 

Привет!
Есть таблицы:
users:
id_user
name
putdate

topics:
id_topic
name
views
putdate
id_user

posts:
id_post
content
putdate
id_user
id_topic

Запрос

SELECT topics.name, mid.counter, authors.name, topics.views, mid.lastdate, last.id_user 
FROM topics
LEFT JOIN 
(SELECT COUNT(id_topic) AS counter, MAX(putdate) AS lastdate, id_topic 
 FROM posts GROUP BY posts.id_topic) 
  AS mid ON topics.id_topic=mid.id_topic 
LEFT JOIN users AS authors ON topics.id_user=authors.id_user
LEFT JOIN posts AS last ON mid.lastdate = last.putdate; 

работает, но хотелось бы вместо last.id_user вытащить имена последних юзеров т.е. "users.name". Кто-нибудь может подсказать?

   
 
 автор: Trianon   (01.07.2007 в 11:51)   письмо автору
 
   для: Furst   (01.07.2007 в 11:19)
 


SELECT topics.name, mid.counter, authors.name, topics.views, mid.lastdate, lastusers.name
FROM topics 
LEFT JOIN  
(SELECT COUNT(id_topic) AS counter, MAX(putdate) AS lastdate, id_topic  
 FROM posts GROUP BY posts.id_topic)  
  AS mid ON topics.id_topic=mid.id_topic  
LEFT JOIN users AS authors ON topics.id_user=authors.id_user 
LEFT JOIN posts AS last ON mid.lastdate = last.putdate  
LEFT JOIN users AS lastusers ON last.id_user = lastusers.id_user;  

   
 
 автор: Furst   (01.07.2007 в 12:02)   письмо автору
 
   для: Trianon   (01.07.2007 в 11:51)
 

Неа, last это "alias" от posts, а нужно users.name

   
 
 автор: Trianon   (01.07.2007 в 12:13)   письмо автору
 
   для: Furst   (01.07.2007 в 12:02)
 

Я поправился. :)

   
 
 автор: Furst   (01.07.2007 в 12:22)   письмо автору
 
   для: Trianon   (01.07.2007 в 12:13)
 

Все ОК! Спасибо :-)

   
Rambler's Top100
вверх

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