Помогите составить запрос

YujinMeru
Дата: 25.12.2012 16:01:11
Добрый день.

Имеются 2 таблицы:

users

"CREATE TABLE `users` (
  `id` INT unsigned NOT NULL auto_increment,
  `user_name` VARCHAR(80) NOT NULL DEFAULT '',
  `user_login` VARCHAR(32) NOT NULL DEFAULT '',
  `user_password` VARCHAR(32) NOT NULL DEFAULT '',
  `user_hash` VARCHAR(32) NOT NULL DEFAULT '',
  `user_group_id` INT unsigned NULL,
  `user_type` INT unsigned NOT NULL DEFAULT '0',
  `hide` INT unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM COLLATE utf8_unicode_ci;"


messages

CREATE TABLE `messages` (
  `id` INT unsigned NOT NULL auto_increment,
  `from_id` INT unsigned NOT NULL DEFAULT '0',   /*ID отправителя*/
  `to_id` INT unsigned NOT NULL DEFAULT '0',      /*ID получателя*/
  `message_title` VARCHAR(255) NOT NULL DEFAULT '',
  `message_text_intro` tinytext NOT NULL,
  `message_text_full` mediumtext NOT NULL,
  `created` datetime NOT NULL default '0000-00-00 00:00:00',
  `unread` tinyint(3) unsigned NOT NULL default '1',
  `hide_input` tinyint(3) unsigned NOT NULL default '0',
  `hide_output` tinyint(3) unsigned NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM COLLATE utf8_unicode_ci;"


Можно ли составить запрос на получение данных о сообщении имея его ID в виде следующей таблицы:
messages.id | from_id | user_name_from(отправитель) | to_id | user_name_to(получатель) | message_title ....



Заранее спасибо
trew
Дата: 25.12.2012 17:38:34
поправил
SELECT 
      m1.*, 
      u1.`user_name` as user_name_from, 
      u2.`user_name` as user_name_to, 
      ...
FROM `messages` m1
       LEFT JOIN `users` u1
       ON m1.`from_id` =  u1.`id`

       LEFT JOIN `users` u2
       ON m1.`to_id` =  u2.`id`

вместо многоточья дописать остальные поля, с указанием из какой таблицы.
YujinMeru
Дата: 25.12.2012 18:12:21
trew,
спасибо)