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

Форум MySQL

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

 

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

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

тема: помогите составить многотабличный запрос
 
 автор: Junkie25   (15.03.2009 в 16:00)   письмо автору
 
 

нужно извлечь из таблицы userlist данные полей nick, id и login
тех пользователей от которых есть непрочитанные (reed=0) сообщения в таблице letters
и отсортировать по дате письма, но чтоб пользователи онлайн были раньше тех кто вне сети.
Время последнего обращения к скриптам записывается в таблицу userlist в поле putdate в формате datetime
поля в таблице letters

id - id записи
who - id отправителя
komu - id получателя
reed - 0 не прочитано, 1 прочитано
datetime время/дата
ну и само сообщение

И еще в конец списка нужно добавить всех из контактного листа (кроме игнора), от кого нет сообщений
таблица contacts

id - id записи
main - у кого в контакте
contact - кто в контакте
ignor - в игноре у main

вроде понятно написал, спрашивайте если что

  Ответить  
 
 автор: Junkie25   (15.03.2009 в 16:35)   письмо автору
 
   для: Junkie25   (15.03.2009 в 16:00)
 

ктонибудь поможет?

  Ответить  
 
 автор: cheops   (16.03.2009 в 16:25)   письмо автору
 
   для: Junkie25   (15.03.2009 в 16:00)
 

А как связаны между собой таблицы userlist и letters? По какому полю?

  Ответить  
 
 автор: Junkie25   (20.03.2009 в 03:11)   письмо автору
 
   для: cheops   (16.03.2009 в 16:25)
 

В letters id-отправителя и id-получателя записываются их уникальные id из таблицы
users

  Ответить  
 
 автор: cheops   (24.03.2009 в 03:35)   письмо автору
 
   для: Junkie25   (20.03.2009 в 03:11)
 

Все-равно не очень понятно, если я правильно понял, следует отталкиваться от следующего оператора
SELECT userlist.nick AS nick,
       userlist.id AS id,
       userlist.login AS login
FROM userlist, letters
WHERE letters.who = userlist.id AND
      userlist.reed
GROUP BY userlist.id
ORDER BY letters.`datetime` DESC

  Ответить  
Rambler's Top100
вверх

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