unirse a tablas personalizadas usando comandos magento

He estado tratando de unir dos tablas personalizadas usando los comandos de magento. Después de buscar encontréeste bloque de código genérico

$collection = Mage::getModel('module/model_name')->getCollection();
$collection->getSelect()->join( array('table_alias'=>$this->getTable('module/table_name')), 
'main_table.foreign_id = table_alias.primary_key',
 array('table_alias.*'), 
'schema_name_if_different');

Siguiendo esto como plantilla, he intentado unir mis tablas, pero solo he devuelto errores, comoincorrect table name otable doesn't exist o algún otro error.

Solo para aclarar las cosas, alguien puede corregirme en mi entendimiento.

$collection = Mage::getModel('module/model_name')->getCollection();

Obtiene una instancia de tu modelo. Dentro de ese modelo está la tabla que contiene los datos requeridos (para este ejemplo, llamaré la tabla p)

$collection->getSelect()

Seleccionar datos de la tabla p

->join()

Requiere tres parámetros para unir dos tablas juntas

PARAM1

array('table_alias'=>$this->getTable('module/table_name'))

'el nombre que le da a la tabla' => 'la tabla que desea agregar a la colección (esto se ha configurado en la carpeta del modelo)'

PARAM2

'main_table.foreign_id = table_alias.primary_key'

Este bit no lo consigo (aunque parece sencillo)

mi tabla principal (p) no tiene un ID externo (tiene su clave principal, ¿es también su ID externo)?

tiene que ser igual al nombre aliado que dio en param1

PARAM3

'main_table.foreign_id = table_alias.primary_key'

obtener todo de nombre alised

¿Dónde me he equivocado en mi comprensión?

Respuestas a la pregunta(1)

Su respuesta a la pregunta