あなたは近いですが、これをチェックしてください: Views には、モジュール コードでこれを行う方法に関するドキュメントがあります。views/docs/views.api.php をチェックして読んでください!
http://drupalcontrib.org/api/drupal/contributions%21views%21views.api.php/7はそこにあるソース コードで、役立つコメントがたくさんあります (下部のソースを表示)。
基本的には、hook_views_data_alter を実装して、ビューにテーブルについて伝える必要があります。これで参加できるようになります。結合されたフィールドを表示するには、hook_views_data_alter に渡される配列に正しいハンドラーを設定する必要があります。views.api.php の 343 行目あたりを見てください。
<?php
// This table references the {node} table. The declaration below creates an
// 'implicit' relationship to the node table, so that when 'node' is the base
// table, the fields are automatically available.
$data['example_table']['table']['join'] = array(
// Index this array by the table name to which this table refers.
// 'left_field' is the primary key in the referenced table.
// 'field' is the foreign key in this table.
'node' => array(
'left_field' => 'nid',
'field' => 'nid',
),
);
// Next, describe each of the individual fields in this table to Views. This
// is done by describing $data['example_table']['FIELD_NAME']. This part of
// the array may then have further entries:
// - title: The label for the table field, as presented in Views.
// - help: The description text for the table field.
// - relation: A description of any relation handler for the table field.
// - field: A description of any field handler for the table field.
// - sort: A description of any sort handler for the table field.
// - filter: A description of any filter handler for the table field.
// - argument: A description of any argument handler for the table field.
// - area: A description of any handler for adding content to header,
// footer or as no result behaviour.
//
// The handler descriptions are described with examples below.
// Node ID table field.
$data['example_table']['nid'] = array(
'title' => t('Example content'),
'help' => t('Some example content that references a node.'),
// The nid is a foreign key to the {node} table. This allows us to (easily)
// add a relationship handler for this table field, making all the table
// fields for the related node available.
'relationship' => array(
'base' => 'node', // The name of the table to join with
'field' => 'nid', // The name of the field to join with
'handler' => 'views_handler_relationship',
'label' => t('Example node'),
),
);