SQL: Показать последние сообщения из БД

У меня проблема с SQL-запросом. (Извините, мой английский так плохой)

Я разрабатываю систему личных сообщений для веб-сайта, и у меня есть db:

нить

 |  ID |  НАЗВАНИЕ |

user_x_thread

 |  ID |  ID_THREAD |  ID_USER |

Сообщения

 |  ID |  ID_THREAD |  ID_USER |  СООБЩЕНИЕ |  TIMESTAMP |

В потоке есть список потоков

В user_x_thread есть список пользователей для каждого потока. IE в потоке # 1 есть пользователь # 2, # 3

Наконец, в сообщениях есть список сообщений, отправленных для каждого потока.

Я хотел бы показать все темы, где пользователь @Alex подписан, упорядочен по последним сообщениям.

ПРИМЕР

нить

 |  ID |  НАЗВАНИЕ |  |  # 1 |  Я и Марта |  |  # 2 |  Марта и Джон |  |  # 3 |  Я и Джон |  |  # 4 |  Я, Марта и Джон | 

user_x_thread

 |  ID |  ID_THREAD |  ID_USER |
 |  1 |  # 1 |  Алекс |
 |  2 |  # 1 |  Марта |
 |  3 |  # 2 |  Марта |
 |  4 |  # 2 |  Джон |
 |  5 |  # 3 |  Алекс |
 |  6 |  # 3 |  Джон |
 |  7 |  # 4 |  Алекс |
 |  8 |  # 4 |  Марта |
 |  9 |  # 4 |  Джон |

@ сообщений

 |  ID |  ID_THREAD |  ID_USER |  СООБЩЕНИЕ |  TIMESTAMP |
 |  1 |  # 1 |  Алекс |  Lorem ipsum |  21:35:45 |
 |  2 |  # 2 |  Марта |  Алекс не может видеть это сообщение |  21:35:58 |
 |  3 |  # 3 |  Джон |  Здравствуйте.  |  21:36:10 |
 |  4 |  # 1 |  Марта |  Demo.  |  21:36:35 |
 |  5 |  # 4 |  Джон |  Мне нравится синий |  21:36:47 |

РЕЗУЛЬТАТ

Привет, Марта, вы вошли в систему: (упорядочено по полученному последнему сообщению)

  • [# 4] Я, Марта и Иоанн (21:36:47)

  • [# 1] Я и Марта (21:36:35)

  • [# 3] Я и Марта (21:36:10)

Related of "SQL: Показать последние сообщения из БД"