If we talk about simple inner join of three tables so you can use this :
select * from tableA a
inner join
tableB b
on a.common = b.common
inner join
TableC c
on b.common = c.common
And for cake php i am giving you code see it you will get the point :
$this->bindModel(array(
'belongsTo' => array(
'Contact' => array(
'className' => 'Contact',
'foreignKey' => false,
'conditions' => array(
'Message.user_id = Contact.user_id',
'`Message`.`mobileNo` IN (`Contact`.`mobileNo`,`Contact`.`workNo`,`Contact`.`homeNo`,`Contact`.`other`)'),
'order'=>'Message.idTextMessage DESC',
)
)
), false);
return $this->find('all', array('conditions' => array('Message.User_id' => $userid),
'contain' => array('Contact' ),
'fields' => array('Message.mobileNo',
'Contact.mobileNo',
'Contact.workNo',
'Contact.homeNo',
'Contact.other',
'Contact.name',
'Message.dateTime',
'Message.type',
'Message.body'),
'group' => 'Message.mobileNo',
'limit' => 6));
}