У меня есть запрос, который я написал для системы личных сообщений, но я хотел бы добавить поле extar в запрос, но не уверен, как это сделать.
В данный момент он получает имя пользователяотправитель, но не получатель, но он, тем не менее, получает оба идентификатора отправителя / получателя.
Как мне добавить дополнительное поле в моем запросе, чтобы получить имя пользователя получателя?Я думал о вложенном выборе.
Вот мой текущий запрос
SELECT p.*, u.username as sender, DATE_FORMAT(u.signup_date, '%b %Y') as joindate, m.avatar FROM privatemsgrec p INNER JOIN users u ON p.senderid=u.userid INNER JOIN misc m ON m.userid=u.userid WHERE p.messageid='1' LIMIT 1
, а вот структура таблицы
CREATE TABLE IF NOT EXISTS `misc` (
`miscid` int(4) NOT NULL auto_increment,
`userid` int(4) NOT NULL default '0',
`profpic` varchar(100) NOT NULL default '',
`avatar` varchar(100) NOT NULL default '',
`signature` text NOT NULL,
`alerts` enum('y','n') NOT NULL default 'y',
PRIMARY KEY (`miscid`)
)
CREATE TABLE IF NOT EXISTS `privatemsgsent` (
`messageid` int(10) NOT NULL auto_increment,
`senderid` int(4) NOT NULL default '0',
`recipientid` int(4) NOT NULL default '0',
`subject` varchar(255) NOT NULL default '',
`message` text NOT NULL,
`datesent` date NOT NULL default '0000-00-00',
PRIMARY KEY (`messageid`)
)
CREATE TABLE IF NOT EXISTS `users` (
`userid` int(25) NOT NULL auto_increment,
`first_name` varchar(25) NOT NULL default '',
`email` varchar(255) NOT NULL default '',
`username` varchar(25) NOT NULL default '',
`password` varchar(32) NOT NULL default '',
`salt` char(3) NOT NULL default '',
`sex` varchar(6) NOT NULL default '',
`user_level` enum('0','1','2','3') NOT NULL default '0',
`signup_date` datetime NOT NULL default '0000-00-00 00:00:00',
`last_login` datetime NOT NULL default '0000-00-00 00:00:00',
`activated` enum('0','1') NOT NULL default '0',
PRIMARY KEY (`userid`)
)