Okkei, credo di avercela fatta a capire il funzionamento di tutto xD, però questa query non riesco a crearla...

Query:
Codice PHP:
$q $database->query("SELECT u.*, g.*, o.* FROM users AS u INNER JOIN groups AS g ON g.group_id = u.groups LEFT JOIN online AS o ON o.user_id = u.user_id WHERE u.user_id = ".(int)$user_data[0]." AND u.user_password = '".$database->escape($user_data[1])."'") or die(mysql_errno() . ':' mysql_error()); 
Questa query funziona, solo che devo pure estrarre i messaggi privati NON letti...

la tabella dei pm è:
Codice PHP:
-- --------------------------------------------------------
-- 
Crea tabella per i messaggi privati
-- --------------------------------------------------------
DROP TABLE IF EXISTS `mp`;

CREATE TABLE `mp`(
    `
midint unsigned NOT NULL auto_increment,
    `
namevarchar(100NOT NULL default '',
    `
texttext,
    `
readtinyint unsigned NOT NULL default '0',
    `
sendervarchar(25NOT NULL default '',
    `
sender_idsmallint unsigned NOT NULL default '0',
    `
receivervarchar(25NOT NULL default '',
    `
receiver_idsmallint unsigned NOT NULL default '0',
PRIMARY KEY(`mid`)
)
TYPE=MyISAM DEFAULT CHARSET=utf8
Ho provato a fare una Left Join per estrarre tutti i i messaggi NON letti in questo modo ( però non funziona ):
Codice PHP:
SELECT u.*, g.*, o.*, COUNT(read) as num_mp
FROM users 
AS 
INNER JOIN groups 
AS g ON g.group_id u.groups 
LEFT JOIN online 
AS o ON o.user_id u.user_id 
LEFT JOIN mp 
AS pm ON receiver_id u.user_id
WHERE read 
AND
u.user_id "{id_utente_cookie}" AND
u.user_password '"{pass_utente_cookie}"'") 
suggerimenti ???