Case 1: After the Magento join, we want to have a EAV Collection as a result collection
//the ‘1’ is just a example of a where clause, you can totally miss this part, if you do not need it
$collection = Mage::getModel('catalog/product_link') ->useRelatedLinks() ->getProductCollection() ->joinTable('sales/order_item', 'product_id=entity_id', array('*'), 'entity_id=1', 'left');